Condividi tramite


Raggruppare i dati nel componente Bins

Questo articolo descrive come usare il componente Raggruppa dati in contenitori nella finestra di progettazione di Azure Machine Learning per raggruppare i numeri o modificare la distribuzione dei dati continui.

Il componente Raggruppa dati in contenitori supporta più opzioni per l'esecuzione di binning dei dati. È possibile personalizzare il modo in cui vengono impostati i bordi del bin e come vengono ripartiti i valori nei contenitori. Ad esempio, è possibile:

  • Digitare manualmente una serie di valori che fungano da limiti di bin.
  • Assegnare valori ai bin usando classificazioni basate su quantili o percentili.
  • Forzare una distribuzione uniforme di valori nei bin.

Altre informazioni su binning e raggruppamento

Binning o raggruppamento di dati (talvolta denominati quantizzazione) è uno strumento importante per preparare i dati numerici per l'apprendimento automatico. È utile in scenari come i seguenti:

  • Una colonna di numeri continui contiene troppi valori univoci per modellare in modo efficace. È quindi possibile assegnare automaticamente o manualmente i valori ai gruppi, per creare un set più piccolo di intervalli discreti.

  • Si vuole 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.

    Con questo metodo, il componente Raggruppa dati in contenitori determina i percorsi e le larghezze del bin ideali per garantire che circa lo stesso numero di campioni cada in ogni contenitore. Quindi, a seconda del metodo di normalizzazione scelto, i valori nei bin vengono trasformati in percentili o mappati a un numero 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.

Visualizzazione dei risultati

Poiché esistono moltissimi modi per raggruppare i dati, e tutti sono personalizzabili, è consigliabile sperimentare metodi e valori diversi.

Come configurare il modulo Group Data into Bins (Raggruppa dati in bin)

  1. Aggiungere il componente Raggruppa dati in contenitori alla pipeline nella finestra di progettazione. È possibile trovare questo componente nella categoria Trasformazione dati.

  2. Connettere il set di dati con dati numerici al bin. La quantizzazione può essere applicata solo alle colonne che contengono dati numerici.

    Se il set di dati contiene colonne non numeriche, usare il componente Select Columns in Dataset (Seleziona colonne nel set di dati ) per selezionare un subset di colonne da utilizzare.

  3. 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:

    • Quantili: il metodo quantile assegna valori ai bin in base ai ranghi percentili. Questo metodo è noto anche come binning di altezza uguale.

    • Uguale a larghezza: con questa opzione è necessario specificare il numero totale di contenitori. I valori della colonna di dati vengono inseriti nei bin in modo che ogni bin abbia lo stesso intervallo tra i valori iniziali e finali. Di conseguenza, è possibile che alcuni bin abbiano più valori se i dati sono raggruppati intorno a un punto specifico.

    • Bordi personalizzati: è possibile specificare i valori che iniziano ogni contenitore. Il valore dei vertici è sempre il limite inferiore del bin.

      Si supponga, ad esempio, di voler raggruppare i valori in due contenitori. Uno avrà valori maggiori di 0 e uno avrà valori minori o uguali a 0. In questo caso, per i bordi del contenitore, immettere 0 nell'elenco delimitato da virgole dei bordi del contenitore. L'output del componente sarà 1 e 2, che indica l'indice bin per ogni valore di riga. Si noti che l'elenco di valori delimitati da virgole deve essere in ordine crescente, ad esempio 1, 3, 5, 7.

    Nota

    La modalità Entropy MDL è definita in Studio (versione classica) e non esiste ancora un pacchetto open source corrispondente che può essere sfruttato per supportare in Progettazione.

  4. Se si usano le modalità di binning Quantiles e Equal Width , usare l'opzione Numero di contenitori per specificare il numero di contenitori o quantili da creare.

  5. Per Colonne da binare, usare il selettore di colonna per scegliere le colonne con i valori da binare. Il tipo di dati delle colonne deve essere numerico.

    La stessa regola di binning viene applicata a tutte le colonne scelte applicabili. Se è necessario inserire alcune colonne usando un metodo diverso, usare un'istanza separata del componente Raggruppa dati in contenitori per ogni set di colonne.

    Avviso

    Se si sceglie una colonna che non è un tipo consentito, viene generato un errore di runtime. Il componente restituisce un errore non appena trova una colonna di un tipo non consentito. Se si riceve un errore, esaminare tutte le colonne selezionate. L'errore non elenca tutte le colonne non valide.

  6. Per la modalità output, indicare come restituire i valori quantizzati:

    • Append: crea una nuova colonna con i valori binned e lo aggiunge alla tabella di input.

    • Inplace: sostituisce i valori originali con i nuovi valori nel set di dati.

    • ResultOnly: restituisce solo le colonne dei risultati.

  7. Se si seleziona la modalità di binning Quantiles , usare l'opzione Normalizzazione quantile per determinare il modo in cui i valori vengono normalizzati prima dell'ordinamento in quantili. Si noti che la normalizzazione dei valori trasforma i valori, ma non influisce sul numero finale di contenitori.

    Sono supportati i tipi di normalizzazione seguenti:

    • Percentuale: i valori vengono normalizzati all'interno dell'intervallo [0,100].

    • PQuantile: i valori vengono normalizzati all'interno dell'intervallo [0,1].

    • QuantileIndex: i valori vengono normalizzati all'interno dell'intervallo [1,numero di bin].

  8. Se si sceglie l'opzione Bordi personalizzati, immettere un elenco delimitato da virgole di numeri da utilizzare come bordi bin nella casella di testo Delimitato da virgole dei bordi del bin.

    I valori contrassegnano il punto che divide i contenitori. Ad esempio, se si immette un valore di bordo bin, verranno generati due contenitori. Se si immettono due valori di bordo bin, verranno generati tre contenitori.

    I valori devono essere ordinati nell'ordine in cui vengono creati i contenitori, dal più basso al più alto.

  9. Selezionare l'opzione Contrassegna colonne come categoriche per indicare che le colonne quantizzate devono essere gestite come variabili categoriche.

  10. Inviare la pipeline.

Risultati

Il componente Group Data into Bins restituisce un set di dati in cui ogni elemento è stato inserito nel bining in base alla modalità specificata.

Restituisce anche una trasformazione binning. Tale funzione può essere passata al componente Applica trasformazione per binare nuovi esempi di dati usando la stessa modalità di binning e gli stessi parametri.

Suggerimento

Se si usa il binning sui dati di training, è necessario usare lo stesso metodo di binning sui dati usati per il test e la stima. È inoltre necessario usare le stesse posizioni bin e le stesse larghezze dei contenitori.

Per assicurarsi che i dati vengano sempre trasformati usando lo stesso metodo di binning, è consigliabile salvare trasformazioni di dati utili. Applicarli quindi ad altri set di dati usando il componente Applica trasformazione .

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.