Raggruppare i dati in contenitori
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.
Inserisce dati numerici in bin
Categoria: Ridimensionare e ridurre
Nota
Si applica a: solo Machine Learning Studio (versione classica)
I moduli di trascinamento della selezione simili sono disponibili in Azure Machine Learning finestra di progettazione.
Panoramica del modulo
Questo articolo descrive come usare il modulo Group Data into Bins in Machine Learning Studio (versione classica) per raggruppare i numeri o modificare la distribuzione dei dati continui.
Il modulo Group Data into Bins (Raggruppa dati in bin) supporta più opzioni per il binning dei dati. È possibile personalizzare l'impostazione dei vertici di bin e la ripartizione dei valori nei bin. Ad esempio, è possibile:
- Digitare manualmente una serie di valori che fungano da limiti di bin.
- Calcolare i punteggi di entropia per determinare i valori delle informazioni per ogni intervallo, per ottimizzare i bin nel modello predittivo. + Assegnare valori ai bin usando quantili o i ranghi percentili.
- Controllare anche il numero di valori in ogni contenitore.
- Forzare una distribuzione uniforme di valori nei bin.
Altre informazioni su binning e raggruppamento
Binning o raggruppamento dei dati (talvolta denominati quantizzazione) è uno strumento importante per preparare i dati numerici per l'apprendimento automatico ed è utile in scenari come questi:
Una colonna di numeri continui ha un numero troppo elevato di valori univoci per una modellazione efficace. Si assegnano quindi, automaticamente o manualmente, i valori a gruppi, per creare un set più piccolo di intervalli discreti.
Ad esempio, è possibile usare i punteggi di entropia generati dai dati di raggruppamento in bin per identificare i raggruppamenti ottimali dei valori dei dati e usare tali gruppi come funzionalità nel modello.
Sostituire una colonna di numeri con valori categorici che rappresentano intervalli specifici.
Si supponga, ad esempio, di voler raggruppare i valori di una colonna Età specificando intervalli personalizzati, quali 1-15, 16-22, 23-30 e così via, per i dati demografici degli utenti.
Un set di dati ha alcuni valori estremi, tutti ben al di fuori dell'intervallo previsto, e questi valori influiscono in modo fuorviante sul modello con training. Per attenuare la distorsione nel modello, è possibile trasformare i dati in una distribuzione uniforme usando il metodo quantili (o uguale altezza).
Con questo metodo, il modulo Group Data into Bins (Raggruppa dati in bin) determina le posizioni e le larghezze dei bin ideali per assicurarsi che in ogni bin rientri approssimativamente lo stesso numero di campioni. Quindi, a seconda del metodo di normalizzazione scelto, i valori nei bin vengono trasformati in percentili oppure ne viene eseguito il mapping a un numero di bin.
Esempi di binning
Il diagramma seguente illustra la distribuzione di valori numerici prima e dopo il binning con il metodo dei quantili. Si noti che, rispetto ai dati non elaborati a sinistra, i dati sono stati sottoposti a binning e trasformati in una scala normale.
Un altro approccio alla binning è dimostrato nel campione di rilevamento del cancro al seno , in cui raggruppare i dati in bin viene usato per assegnare i pazienti a vari gruppi di controllo e test, per garantire che ogni gruppo abbia un numero uguale di pazienti.
Poiché esistono moltissimi modi per raggruppare i dati, e tutti sono personalizzabili, è consigliabile sperimentare metodi e valori diversi. La sezione Esempi contiene collegamenti a esperimenti di esempio che illustrano come usare i diversi algoritmi di binning.
Come configurare il modulo Group Data into Bins (Raggruppa dati in bin)
Aggiungere il modulo Raggruppa dati in contenitori all'esperimento in Studio (versione classica). Questo modulo è disponibile nella categoria Trasformazione dati, in Scalabilità e riduzione.
Connettere il set di dati con dati numerici al bin. La quantizzazione può essere applicata solo a colonne contenenti dati numerici.
Se il set di dati contiene colonne non numeriche, usare il modulo Select Columns in Dataset (Seleziona colonne nel set di dati) per selezionare un subset di colonne da usare.
Specificare la modalità di binning. La modalità binning determina altri parametri, quindi assicurarsi di selezionare prima l'opzione Modalità binning . Sono supportati i tipi di binning seguenti:
Entropy MDL: questo metodo richiede di selezionare la colonna da stimare e la colonna o le colonne da raggruppare in contenitori. Esegue quindi un passaggio sui dati e tenta di determinare il numero di contenitori che riduce al minimo l'entropia. In altre parole, sceglie un numero di contenitori che consente alla colonna di dati di stimare meglio la colonna di destinazione. Restituisce quindi il numero bin associato a ogni riga dei dati in una colonna denominata
<colname>quantized
.Se il metodo MDL entropia non riesce a trovare un modo per eseguire inizialmente il bin dei dati per eseguire una stima valida, assegna tutti i dati a un contenitore uniforme. Ciò non significa che la colonna non è un buon predictor. In questo caso, è possibile usare altri metodi per trovare il numero di contenitori che ridurrebbero al minimo l'entropia e rendere i dati un predictor migliore.
Questo metodo non restituisce i punteggi di entropia effettivi.
Quantiles (Quantili): il metodo dei quantili assegna valori ai bin in base a classificazioni di percentili. Il metodo dei quantili è noto anche come binning con altezza uguale.
Equal Width (Stessa larghezza): con questa opzione è necessario specificare il numero totale di bin. I valori della colonna di dati vengono inseriti nei bin in modo tale che l'intervallo tra il valore di inizio e quello di fine sia lo stesso per ogni bin. Di conseguenza, è possibile che alcuni bin abbiano più valori se i dati sono raggruppati intorno a un punto specifico.
Custom Edges (Vertici personalizzati): è possibile specificare i valori iniziali di ogni bin. Il valore dei vertici è sempre il limite inferiore del bin. Si supponga, ad esempio, di voler raggruppare valori in due bin, uno con valori maggiori di 0 e uno con valori minori o uguali a 0. In questo caso, per i bordi del contenitore, digitare 0 nell'elenco delimitato da virgole dei bordi del contenitore. L'output del modulo, 1 e 2, indica l'indice bin per ogni valore di riga.
Uguale Larghezza con Avvio personalizzato e Stop: questo metodo è simile all'opzione Equal Width , ma è possibile specificare limiti sia inferiori che superiori.
Numero di contenitori: se si usano le modalità di binning Entropy MDL, Quantiles e Equal Width , usare questa opzione per specificare il numero di bin o quantili da creare.
Per Columns to bin (Colonne per il binning) usare il selettore di colonne per scegliere le colonne contenenti i valori di cui si vuole eseguire il binning. Il tipo di dati delle colonne deve essere numerico.
La stessa regola di binning viene applicata a tutte le colonne scelte applicabili. Se pertanto è necessario eseguire il binning di alcune colonne con un metodo diverso, usare un'istanza separata di Group Data into Bins (Raggruppa dati in bin) per ogni set di colonne.
Avviso
Se si sceglie una colonna di tipo non consentito, viene generato un errore di run-time. Il modulo restituisce un errore non appena trova una colonna di tipo non consentito. Se si riceve un errore, esaminare tutte le colonne selezionate. L'errore non elenca tutte le colonne non valide.
Per Output mode (Modalità di output) indicare come si vogliono restituire i valori quantizzati.
Append (Accoda): crea una nuova colonna con valori sottoposti a binning e la accoda alla tabella di input.
Inplace (Sul posto): sostituisce i valori originali con i nuovi valori nel set di dati.
ResultOnly (Solo risultati): restituisce solo le colonne di risultati.
Se si seleziona la modalità di binning Quantiles (Quantili), usare l'opzione Quantile normalization (Normalizzazione quantili) per determinare la normalizzazione dei valori prima dell'ordinamento in quantili. Si noti che la normalizzazione dei valori trasforma i valori, ma non influisce sul numero finale di bin. Per un esempio, vedere Effetti di metodi di normalizzazione diversi.
Sono supportati i tipi di normalizzazione seguenti:
Percent: i valori vengono normalizzati nell'intervallo [0,100]
PQuantile: i valori vengono normalizzati nell'intervallo [0,1]
QuantileIndex: i valori vengono normalizzati nell'intervallo [1,numero di bin]
Se si sceglie l'opzione Custom Edges (Vertici personalizzati), digitare un elenco delimitato da virgole di numeri da usare come vertici di bin nella casella di testo + Comma-separated list of bin edges (Elenco di vertici di bin delimitati da virgole). I valori indicano il punto che divide i bin. Se pertanto si digita un valore di vertice di bin, vengono generati due bin. Se si digitano due valori di vertice di bin, verranno generati tre bin e così via.
I valori devono essere elencati secondo l'ordine di creazione dei bin, dal più basso al più alto.
Se si usa l'opzione Uguale larghezza con inizio e arresto personalizzati, è necessario specificare i limiti dei contenitori.
Definire il limite inferiore del primo contenitore digitando un valore nella casella di testo Posizione primo bordo .
Definire il limite inferiore dell'ultimo bin digitando un valore nella casella di testo Last edge position .Define the lower boundary of the last bin by typing a value in the Last edge position casella di testo.
Contrassegnare le colonne come categorico: selezionare questa opzione per aggiungere automaticamente un flag di metadati alla colonna di valori binned. Il flag di metadati indica che le colonne quantizzate devono essere gestite come variabili categoriche.
Eseguire l'esperimento oppure selezionare questo modulo e fare clic su Esegui selezionato.
Risultati
Il modulo Group Data into Bins (Raggruppa dati in bin) restituisce un set di dati in cui è stato eseguito il binning di ogni elemento secondo la modalità specificata.
Restituisce anche la funzione Binning transformation (Trasformazione binning), che può essere passata al modulo Apply Transformation (Applica trasformazione) per eseguire il binning di nuovi campioni di dati con la stessa modalità e gli stessi parametri di binning.
Per verificare il funzionamento del metodo binning come predictor, è possibile fare clic sull'output del set di dati da Raggruppa dati a Bin e confrontare la colonna dell'etichetta con la colonna binned. Se il raggruppamento dei contenitori è predittivo, i valori nella matrice tra schede devono concentrarsi in poche celle.
Suggerimento
Si tenga presente che se si usa il binning sui dati di training, è necessario usare lo stesso metodo di binning sui dati usati per i test e le stime. Questo vale per il metodo di binning e per le posizioni e le larghezze dei bin.
Per assicurarsi che i dati vengano sempre trasformati usando lo stesso metodo di binning, è consigliabile salvare le trasformazioni dati utili e quindi applicarle ad altri set di dati usando il modulo Apply Transformation (Applica trasformazione).
Esempio
Per esempi di come viene applicata la quantizzazione negli scenari di Machine Learning, vedere La raccolta di intelligenza artificiale di Azure:
- Rilevamento del cancro al seno: in questo esempio viene usato binning per dividere i pazienti in gruppi uguali usando il campo ID paziente.
- Stima ritardo volo: usa la normalizzazione quantile per ordinare i casi in 10 bin.
- Analisi del sentiment di Twitter: i punteggi vengono raggruppati in cinque bin che rappresentano i punteggi di classificazione.
Note tecniche
Questa sezione contiene i dettagli, i suggerimenti e le risposte all'implementazione alle domande frequenti.
Effetti dei diversi metodi di normalizzazione
Se si seleziona l'opzione Quantile normalizzazione, i valori vengono trasformati prima di binning. Pertanto, il metodo scelto per la normalizzazione ha un effetto forte sui valori numerici.
Ad esempio, la tabella seguente illustra come i valori in una singola colonna, , fLength
dal set di dati Telescopio vengono trasformati con ognuno dei metodi di normalizzazione. La colonna , fLength
, è stata scelta in modo casuale per l'illustrazione dei valori di output da ogni opzione e non ha una distribuzione normale.
Origine (fLength) | pQuantile | QuantileIndex | Percentuale |
---|---|---|---|
28.7967 | 0.363636 | 4 | 36.363636 |
31.6036 | 0.454545 | 5 | 45.454545 |
162.052 | 0.909091 | 10 | 90.909091 |
23.8172 | 0.272727 | 3 | 27.272727 |
I risultati di binning sono simili per ogni metodo.
L'elemento grafico seguente mostra la distribuzione dei valori nella colonna prima e dopo l'esecuzione di binning usando il valore predefinito di 10 bin.
Dettagli dell'implementazione
Durante la quantizzazione, ogni numero viene mappato a un cestino confrontando il relativo valore rispetto ai valori dei bordi del cestino.
Ad esempio, se il valore è 1,5 e i bordi del bin sono 1, 2 e 3, l'elemento verrà mappato al numero di bin 2. Il valore 0.5 verrà mappato al numero di bin 1 (bin di sottoflow) e il valore 3.5 verrà mappato al numero di bin 4 (bin overflow).
Se la colonna di cui eseguire il binning (da quantizzare) è di tipo sparse, viene usato l'offset indice bin (offset quantile) quando la colonna risultante viene popolata. L'offset viene scelto in modo che lo 0 di tipo sparse passi sempre nel bin con indice 0 (ossia il quantile con valore 0).
Gli zeri di tipo sparse vengono propagati dalla colonna di input a quella di output.
L'elaborazione della colonna di tipo dense produce sempre risultati con indice bin minimo uguale a 1, ossia il valore quantile minimo è uguale al valore minimo nella colonna. Allo stesso tempo, l'elaborazione di una colonna sparse produce un risultato con indice di bin minimo variabile (valore minimo quantile).
Tutti i NaN e i valori mancanti vengono propagati dalla colonna di input a quella di output. L'unica eccezione si verifica quando il modulo restituisce indici di quantili. In questo caso tutti i NaN vengono alzati al livello di valori mancanti.
Gli indici bin sono in base 1. Questa è la convenzione naturale per i quantili (1° quantile, 2° quantile e così via). L'unica eccezione si verifica quando la colonna di cui eseguire il binning è di tipo sparse.
Input previsti
Nome | Tipo | Descrizione |
---|---|---|
Set di dati | Tabella dati | Set di dati da analizzare |
Parametri del modulo
Name | Intervallo | Type | Predefinito | Descrizione |
---|---|---|---|---|
Binning mode | Elenco | QuantizationMode | Quantili | Scegliere un metodo di binning |
Columns to bin | any | ColumnSelection | NumericAll | Scegliere le colonne per la quantizzazione |
Modalità output | any | OutputTo | Indica il modo in cui devono essere restituite le colonne quantizzate | |
Tag columns as categorical | any | Boolean | true | Indica se le colonne restituite devono essere contrassegnate come categoriche |
Number of bins | >=1 | Integer | 10 | Specificare il numero desiderato di bin |
Quantile normalization | any | BinningNormalization | Scegliere il metodo per la normalizzazione dei quantili | |
First edge position | any | Float | 0.0 | Specifica il valore per il primo vertice di bin |
Bin width | any | Float | 0,5 | Specifica una larghezza personalizzata per il bin |
Last edge position | any | Float | 1.0 | Specifica il valore per l'ultimo edge di bin |
Comma-separated list of bin edges | any | string | Digitare un elenco delimitato da virgole di numeri da usare come vertici di bin |
Output
Nome | Tipo | Descrizione |
---|---|---|
Quantized dataset | Tabella dati | Set di dati con colonne quantizzate |
Binning transformation | Interfaccia ITransform | Trasformazione che applica la quantizzazione al set di dati |
Eccezioni
Eccezione | Descrizione |
---|---|
Errore 0003 | L'eccezione si verifica se uno o più input sono null o vuoti. |
Errore 0004 | L'eccezione si verifica se un parametro è inferiore o uguale a un valore specifico. |
Errore 0011 | L'eccezione si verifica se l'argomento passato per il set di colonne non è applicabile ad alcuna colonna del set di dati. |
Errore 0021 | L'eccezione si verifica se il numero di righe in alcuni set di dati passati al modulo è troppo piccolo. |
Errore 0024 | L'eccezione si verifica se il set di dati non contiene una colonna etichetta. |
Errore 0020 | L'eccezione si verifica se il numero di colonne in alcuni set di dati passati al modulo è troppo piccolo. |
Errore 0038 | Si verifica un'eccezione se il numero di elementi previsti deve essere un valore esatto ma non lo è. |
Errore 0005 | L'eccezione si verifica se il parametro è inferiore a un valore specifico. |
Errore 0002 | L'eccezione si verifica se non è stato possibile analizzare o convertire uno o più parametri dal tipo specificato nel tipo richiesto dal metodo di destinazione. |
Errore 0019 | L'eccezione si verifica se è previsto che la colonna contenga valori ordinati, ma tali valori non sono presenti. |
Errore 0039 | Si verifica un'eccezione se l'operazione non è riuscita. |
Errore 0075 | L'eccezione si verifica quando viene usata una funzione di binning non valida durante la quantizzazione di un set di dati. |
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 codici di errore dell'API REST.
Vedi anche
Scale and Reduce
Normalize Data (Normalizza dati)
Clip Values (Ritaglia valori)