Modificare i metadati
Importante
Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.
A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).
- Vedere leinformazioni sullo spostamento di progetti di Machine Learning da ML Studio (versione classica) ad Azure Machine Learning.
- Altre informazioni sulle Azure Machine Learning.
La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.
Modifica i metadati associati alle colonne in un set di dati
Categoria: Trasformazione/Manipolazione dei dati
Nota
Si applica a: Machine Learning Studio (versione classica)
Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.
Panoramica del modulo
Questo articolo descrive come usare il modulo Edit Metadata (Modifica metadati) in Machine Learning Studio (versione classica) per modificare i metadati associati alle colonne in un set di dati. I valori e i tipi di dati nel set di dati non vengono effettivamente modificati. ciò che cambia sono i metadati all'interno Machine Learning che indica ai componenti downstream come usare la colonna.
Le modifiche tipiche ai metadati possono includere le operazioni seguenti:
Considerare colonne booleane o numeriche come valori categorici
Indicare quale colonna contiene l'etichetta di classe o i valori che si desidera classificare o stimare
Contrassegno delle colonne come caratteristiche
Modifica dei valori di data/ora in un valore numerico o viceversa
Ridenominazione di colonne
Usare Modifica metadati ogni volta che è necessario modificare la definizione di una colonna, in genere per soddisfare i requisiti per un modulo downstream. Ad esempio, alcuni moduli possono funzionare solo con tipi di dati specifici o richiedere flag per le colonne, ad esempio IsFeature
o IsCategorical
.
Dopo avere eseguito l'operazione necessaria, sarà possibile reimpostare lo stato originale dei metadati.
Come configurare Edit Metadata (Modifica metadati)
In Machine Learning Studio (versione classica) aggiungere il modulo Edit Metadata (Modifica metadati) all'esperimento e connettere il set di dati da aggiornare. È possibile trovarlo in Trasformazione dati nella categoria Modifica .
Fare clic su Avvia selettore di colonna e scegliere la colonna o il set di colonne da usare. È possibile scegliere le colonne singolarmente, in base al nome o all'indice oppure è possibile scegliere un gruppo di colonne, in base al tipo.
Suggerimento
Serve aiuto con gli indici di colonna? Vedere la sezione Note tecniche.
Selezionare l'opzione Tipo di dati se è necessario assegnare un tipo di dati diverso alle colonne selezionate. La modifica del tipo di dati potrebbe essere necessaria per determinate operazioni: ad esempio, se il set di dati di origine ha numeri gestiti come testo, è necessario modificarli in un tipo di dati numerico prima di usare operazioni matematiche.
I tipi di dati supportati
String
sonoInteger
,Floating point
,Boolean
,DateTime
, eTimeSpan
.Se sono selezionate più colonne, è necessario applicare le modifiche ai metadati a tutte le colonne selezionate. Si supponga, ad esempio, di scegliere 2-3 colonne numeriche. È possibile modificarli tutti in un tipo di dati stringa e rinominarli in un'unica operazione. Tuttavia, non è possibile modificare una colonna in un tipo di dati stringa e un'altra colonna da float a integer.
Se non si specifica alcun nuovo tipo di dati, i metadati della colonna non verranno modificati.
Le modifiche del tipo di dati influiscono solo sui metadati associati al set di dati e sulla modalità di gestione dei dati nelle operazioni downstream. I valori di colonna effettivi vengono modificati solo se si esegue un'operazione diversa, ad esempio un arrotondamento, sulla colonna. È possibile ripristinare il tipo di dati originale in qualsiasi momento usando Modifica metadati per reimpostare il tipo di dati della colonna.
Nota
Se si modifica qualsiasi tipo di numero nel tipo DateTime , lasciare vuoto il campo Formato DateTime . Attualmente non è possibile specificare il formato dei dati di destinazione.
Machine Learning possibile convertire le date in numeri o numeri in date, se i numeri sono compatibili con uno degli oggetti DateTime .NET supportati. Per altre informazioni, vedere la sezione Note tecniche.
Selezionare l'opzione Categorie per specificare che i valori nelle colonne selezionate devono essere considerati come categorie.
Ad esempio, si potrebbe avere una colonna che contiene i numeri 0,1 e 2, ma si sa che i numeri in realtà significano "Smoker", "Non smoker" e "Unknown". In tal caso, contrassegnando la colonna come categorica, è possibile assicurarsi che i valori non siano utilizzati nei calcoli numerici, ma solo per raggruppare i dati.
Usare l'opzione Campi se si vuole modificare il modo in cui Machine Learning i dati in un modello.
Funzionalità: usare questa opzione per contrassegnare una colonna come funzionalità, per l'uso con moduli che operano solo su colonne di funzionalità. Per impostazione predefinita, tutte le colonne vengono inizialmente considerate come funzioni.
Etichetta: usare questa opzione per contrassegnare l'etichetta (nota anche come attributo stimabile o variabile di destinazione). Molti moduli richiedono che almeno una colonna etichetta (e una sola) sia presente nel set di dati.
In molti casi, Machine Learning può dedurre che una colonna contiene un'etichetta di classe, ma impostando questi metadati è possibile assicurarsi che la colonna venga identificata correttamente. L'impostazione di questa opzione non modifica i valori dei dati, ma solo il modo in cui alcuni algoritmi di Machine Learning gestiscono i dati.
Peso: usare questa opzione con dati numerici per indicare che i valori di colonna rappresentano i pesi da usare nelle operazioni di assegnazione dei punteggi o training di Machine Learning. In un set di dati può essere presente una sola colonna peso e la colonna deve essere numerica. Questa opzione funziona solo in questi modelli: Two-Class Logistic Regression, Two-Class Support Vector Machine e Two-Class Neural Network.
Suggerimento
I dati non rientrano in queste categorie? Ad esempio, il set di dati potrebbe contenere valori come identificatori univoci che non sono utili come variabili. A volte gli ID possono causare problemi quando vengono usati in un modello.
Fortunatamente, "sotto le Machine Learning conserva tutti i dati, quindi non è necessario eliminare tali colonne dal set di dati. Quando è necessario eseguire operazioni su un set speciale di colonne, è sufficiente rimuovere temporaneamente tutte le altre colonne usando il modulo Select Columns in Dataset ( Seleziona colonne nel set di dati). In un secondo momento è possibile unire nuovamente le colonne nel set di dati usando il modulo Aggiungi colonne.
Usare le opzioni seguenti per cancellare le selezioni precedenti e ripristinare i metadati sui valori predefiniti.
Cancella funzionalità: usare questa opzione per rimuovere il flag di funzionalità.
Poiché tutte le colonne vengono inizialmente considerate come funzionalità, per i moduli che eseguono operazioni matematiche, potrebbe essere necessario usare questa opzione per impedire che le colonne numeriche vengano considerate come variabili.
Cancella etichetta: usare questa opzione per rimuovere i metadati dell'etichetta dalla colonna specificata.
Cancella punteggio: usare questa opzione per rimuovere i metadati del punteggio dalla colonna specificata.
Attualmente la possibilità di contrassegnare in modo esplicito una colonna come punteggio non è disponibile in Machine Learning. Tuttavia, alcune operazioni comportano il contrassegno interno di una colonna come punteggio. Inoltre, un modulo R personalizzato potrebbe ottenere valori di punteggio.
Cancella peso: usare questa opzione per rimuovere i metadati relativi al peso dalla colonna specificata.
In Nuovi nomi di colonna digitare il nuovo nome della colonna o delle colonne selezionate.
I nomi di colonna possono usare solo caratteri supportati dalla codifica UTF-8. Le stringhe vuote, i valori Null o i nomi costituiti interamente da spazi non sono consentiti.
Per rinominare più colonne, digitare i nomi come elenco delimitato da virgole in base agli indici di colonna.
Tutte le colonne selezionate devono essere rinominate. Non è possibile omettere o ignorare colonne.
Suggerimento
Se è necessario rinominare più colonne, è possibile incollare in anticipo una stringa delimitata da virgole. In caso contrario, usare i moduli Execute R Script (Esegui script R) o Apply SQL Transformation (Applica trasformazione). Per codice ed esempi , vedere la sezione Note tecniche.
Eseguire l'esperimento.
Esempio
Per esempi dell'uso di Modifica metadati nella preparazione dei dati e nella compilazione di modelli, vedere l'Azure AI Gallery:
Rilevamento del virus del seno: i nomi delle colonne vengono modificati dopo il join ai set di dati. Anche la colonna Patient ID viene contrassegnata come categorica per garantire che non sia usata in un calcolo, ma piuttosto che gestita come valore stringa.
Analisi del sentiment di Twitter: illustra come usare Modifica metadati per assicurarsi che le colonne siano trattate come funzionalità. Più avanti nell'esperimento, i metadati della funzionalità vengono cancellati.
Elaborazione e analisi dei dati: in questo esempio Edit Metadata (Modifica metadati) viene usato per definire nuovi nomi di colonna per i dati caricati da una pagina Web.
Note tecniche
Questa sezione contiene problemi noti, domande frequenti ed alcuni esempi di soluzioni alternative comuni.
Problemi noti
I metadati personalizzati non sono supportati. Non è possibile usare metadati personalizzati in Machine Learning o modificare i metadati della colonna all'esterno di Modifica metadati. Ad esempio, non è possibile aggiungere metadati che indicano che una colonna è un identificatore univoco o aggiungere altri attributi descrittivi. Machine Learning supporta solo gli attributi dei metadati usati in R per l'uso di fattori, caratteristiche, pesi ed etichette.
Tipi di dati non supportati. I tipi di dati numerici seguenti non sono supportati: Double (decimal) e TimeStamp.
Identificazione delle colonne del punteggio. Attualmente non è disponibile alcuna opzione in Modifica metadati per contrassegnare una colonna come contenente punteggi. Tuttavia, è possibile usare il modulo Execute R Script (Esegui script R ) con uno script simile al seguente per indicare che una colonna contiene punteggi:
dataset <- maml.mapInputPort(1) attr(dataset$x, "label.type")= "True Labels" attr(dataset$y, "feature.channel")= "Multiclass Classification Scores" attr(dataset$y, "score.type")= "Assigned Labels" maml.mapOutputPort("dataset");
Problemi con i formati datetime. Il tipo
datetime
di dati sottostante usato da Machine Learning èPOSIXct
.Se tutte le date in una colonna possono essere analizzate dal parser predefinito, la colonna viene importata e considerata come dati stringa.
Se si tenta di convertire una
DateTime
colonna in usando il modulo Modifica metadati e si ottiene un errore, significa che la data non è in un formato accettato da .NET per impostazione predefinita. In questo caso, è consigliabile usare il modulo Execute R Script (Esegui script R) o il modulo Apply SQL Transformation (Applica trasformazione SQL) per trasformare la colonna in un formato accettato dal parser predefinito.
Selezione di colonne tramite indici di colonna
Nei set di dati di dimensioni molto grandi non è possibile digitare o selezionare manualmente tutti i nomi di colonna. L'uso dell'indice di colonna è un collegamento che è possibile usare per specificare molte colonne. In questa sezione vengono forniti alcuni suggerimenti sull'uso degli indici di colonna.
Ad esempio, aprire il selettore di colonna, fare clic su WITH RULES, selezionare Includi e indici di colonna e quindi digitare un intervallo o una serie di numeri come segue:
- Digitare
1-20
per selezionare le prime 20 colonne - Digitare
5-20
per selezionare un intervallo di colonne a partire da 5 e includendo la colonna 20. - Digitare
1,5,10,15
per selezionare colonne discontinue - Digitare
1-2, 5
per selezionare le colonne 1, 2 e 5, ignorando le colonne 3 e 4 - Non è possibile digitare un valore di indice maggiore del numero di colonne disponibili nel set di dati.
Gli esperimenti seguenti forniscono alcuni esempi di altri metodi per la selezione e la modifica di più colonne:
Classificazione binaria: rilevamento del tumore al seno: i dati originali contenevano molte colonne vuote generate durante l'importazione da un foglio di calcolo. Le colonne aggiuntive sono state rimosse specificando le colonne da 1 a 11 nel modulo Dividi dati.
Scaricare il set di dati da UCI: illustra come specificare i nomi di colonna come elenco usando il modulo Enter Data Manually (Immetti dati manualmente) e quindi inserire l'elenco nel set di dati come intestazioni usando il modulo Script Execute R (Esegui script R).
Regex Select Columns :questo esperimento fornisce un modulo personalizzato che consente di applicare un'espressione regolare ai nomi di colonna. È possibile usare questo modulo come input per La modifica dei metadati.
Metodi alternativi per la modifica dei nomi di colonna
Se sono disponibili molte colonne da rinominare, è possibile usare il modulo Execute R Script (Esegui script R) o il modulo Apply SQL Transformation (Applica SQL transformation).
Uso dello script R
I set di dati usati Machine Learning vengono passati in questo modulo come data.frame, vale a dire che è possibile usare la funzione R colnames()
e altre funzioni R correlate per elencare o modificare i nomi delle colonne.
Ad esempio, il codice seguente crea un elenco di nuovi nomi di colonna e quindi lo applica al set di dati di input per generare nuove intestazioni di colonna.
irisdata <- maml.mapInputPort(1);
newnames <- c("CLASS", "SEPAL LENGTH", "SEPAL WIDTH", "PETAL LENGTH", "PETAL WIDTH");
colnames(irisdata) = newnames
maml.mapOutputPort("irisdata");
Nell'esempio seguente viene utilizzata un'espressione regolare in R per sostituire a livello globale tutte le istanze della stringa specificata nei nomi di colonna per irisdata
:
# Map input dataset to variable
newirisdata <- maml.mapInputPort(1) # class: data.frame
names(newirisdata) <- gsub("col", "iris", names(newirisdata))
maml.mapOutputPort("newirisdata");
Usando SQL
L'esempio seguente accetta un set di dati come input e quindi modifica i nomi delle colonne usando la parola chiave AS .
SELECT col1 as [C1],
col2 as [C2],
col3 as [C3],
col4 as [C4],
col5 as [C5]
FROM t1;
Input previsto
Nome | Tipo | Descrizione |
---|---|---|
Set di dati | Tabella dati | Set di dati di input |
Parametri del modulo
Nome | Intervallo | Type | Predefinito | Descrizione |
---|---|---|---|---|
Colonna | Qualsiasi | ColumnSelection | Scegliere le colonne a cui devono essere applicate le modifiche. | |
Tipo di dati | Elenco | Tipo di dati di Metadata Editor | Non modificato | Specifica il nuovo tipo di dati per la colonna. |
Categorical | Elenco | Categorico di Metadata Editor | Non modificato | Indica se la colonna deve essere contrassegnata come categorica. |
Campi | Elenco | Flag di Metadata Editor | Non modificato | Specifica se la colonna deve essere considerata come una funzione o un'etichetta dagli algoritmi di apprendimento. |
Nuovi nomi di colonna | any | string | Digitare i nuovi nomi per le colonne. |
Output
Nome | Tipo | Descrizione |
---|---|---|
Set di dati di risultati | Tabella dati | Set di dati con metadati modificati |
Eccezioni
Eccezione | Descrizione |
---|---|
Errore 0003 | Si verifica un'eccezione se uno o più set di dati di input sono Null o vuoti. |
Errore 0017 | Si verifica un'eccezione se una o più colonne specificate dispongono di un tipo non supportato dal modulo corrente. |
Errore 0020 | Si verifica un'eccezione se il numero di colonne in alcuni set di dati passati al modulo è troppo piccolo. |
Errore 0031 | Si verifica un'eccezione se il numero di colonne nel set di colonne è inferiore al necessario. |
Errore 0027 | Si verifica un'eccezione quando due oggetti che dovrebbero essere delle stesse dimensioni sono differenti. |
Errore 0028 | Si verifica un'eccezione nel caso in cui un set di colonne includa nomi di colonne duplicati, che non sono consentiti. |
Errore 0037 | Si verifica un'eccezione se sono specificate più colonne di etichetta e ne è consentita una sola. |
Per un elenco degli errori specifici dei moduli di Studio (versione classica), vedere Machine Learning codici di errore.
Per un elenco delle eccezioni API, vedere Machine Learning di errore dell'API REST.