Normalizzare il componente dati

Questo articolo descrive un componente nella finestra di progettazione di Azure Machine Learning.

Usare questo componente per trasformare un set di dati tramite la normalizzazione.

La normalizzazione è una tecnica spesso applicata come parte della preparazione dei dati per l'apprendimento automatico. L'obiettivo della normalizzazione è modificare i valori delle colonne numeriche nel set di dati in modo da usare una scala comune, senza distorcere le differenze negli intervalli di valori o perdere informazioni. La normalizzazione è necessaria anche per alcuni algoritmi per modellare correttamente i dati.

Si supponga, ad esempio, che il set di dati di input contenga una colonna con valori compresi tra 0 e 1 e un'altra colonna con valori compresi tra 10.000 e 100.000. La grande differenza nella scala dei numeri può causare problemi quando si tenta di combinare i valori come caratteristiche durante la modellazione.

La normalizzazione evita questi problemi creando nuovi valori che mantengono la distribuzione e i rapporti generali nei dati di origine, mantenendo i valori all'interno di una scala applicata in tutte le colonne numeriche usate nel modello.

Questo componente offre diverse opzioni per la trasformazione dei dati numerici:

  • È possibile modificare tutti i valori in una scala da 0 a 1 oppure trasformare i valori rappresentandoli come classifica percentile anziché come valori assoluti.
  • È possibile applicare la normalizzazione a una singola colonna o a più colonne nello stesso set di dati.
  • Se è necessario ripetere la pipeline o applicare gli stessi passaggi di normalizzazione ad altri dati, è possibile salvare i passaggi come trasformazione di normalizzazione e applicarla ad altri set di dati con lo stesso schema.

Avviso

Alcuni algoritmi richiedono che i dati vengano normalizzati prima del training di un modello. Altri algoritmi eseguono il ridimensionamento o la normalizzazione dei dati. Pertanto, quando si sceglie un algoritmo di Machine Learning da usare per la creazione di un modello predittivo, assicurarsi di esaminare i requisiti dei dati dell'algoritmo prima di applicare la normalizzazione ai dati di training.

Configurare normalizzare i dati

È possibile applicare un solo metodo di normalizzazione alla volta usando questo componente. Pertanto, lo stesso metodo di normalizzazione viene applicato a tutte le colonne selezionate. Per usare metodi di normalizzazione diversi, usare una seconda istanza di Normalize Data.

  1. Aggiungere il componente Normalize Data alla pipeline. È possibile trovare il componente in Azure Machine Learning, in Trasformazione dati, nella categoria Scalabilità e riduzione .

  2. Connettere un set di dati contenente almeno una colonna di tutti i numeri.

  3. Usare il selettore di colonna per scegliere le colonne numeriche da normalizzare. Se non si scelgono colonne singole, per impostazione predefinita vengono incluse tutte le colonne di tipo numerico nell'input e lo stesso processo di normalizzazione viene applicato a tutte le colonne selezionate.

    Ciò può causare risultati strani se si includono colonne numeriche che non devono essere normalizzate. Controllare sempre attentamente le colonne.

    Se non vengono rilevate colonne numeriche, controllare i metadati della colonna per verificare che il tipo di dati della colonna sia un tipo numerico supportato.

    Suggerimento

    Per assicurarsi che le colonne di un tipo specifico vengano fornite come input, provare a usare il componente Seleziona colonne nel set di dati prima di Normalizzare i dati.

  4. Usare 0 per le colonne costanti quando selezionato: selezionare questa opzione quando una colonna numerica contiene un singolo valore non modificabile. In questo modo si garantisce che tali colonne non vengano usate nelle operazioni di normalizzazione.

  5. Nell'elenco a discesa Metodo trasformazione scegliere una singola funzione matematica da applicare a tutte le colonne selezionate.

    • Zscore: converte tutti i valori in un punteggio z.

      I valori nella colonna vengono trasformati usando la formula seguente:

      normalizzazione con z-score

      La deviazione media e standard vengono calcolate separatamente per ogni colonna. Viene utilizzata la deviazione standard della popolazione.

    • MinMax: il normalizzatore min-max ridimensiona in modo lineare ogni funzionalità all'intervallo [0,1].

      Il ridimensionamento all'intervallo [0,1] viene eseguito spostando i valori di ogni caratteristica in modo che il valore minimo sia 0 e quindi dividendo per il nuovo valore massimo (ovvero la differenza tra i valori massimi originali e minimi).

      I valori nella colonna vengono trasformati usando la formula seguente:

      normalizzazione tramite la funzione min-max

    • Logistica: i valori nella colonna vengono trasformati usando la formula seguente:

      formula per la normalizzazione per funzione logistica

    • LogNormal: questa opzione converte tutti i valori in una scala lognormali.

      I valori nella colonna vengono trasformati usando la formula seguente:

      distribuzione normale del log delle formule

      Qui μ e σ sono i parametri della distribuzione, calcolati empiricamente dai dati come stime della massima probabilità, per ogni colonna separatamente.

    • TanH: tutti i valori vengono convertiti in una tangente iperbolica.

      I valori nella colonna vengono trasformati usando la formula seguente:

      normalizzazione tramite la funzione tanh

  6. Inviare la pipeline oppure fare doppio clic sul componente Normalize Data (Normalizza dati) e selezionare Run Selected (Esegui selezionato).

Risultati

Il componente Normalize Data genera due output:

  • Per visualizzare i valori trasformati, fare clic con il pulsante destro del mouse sul componente e scegliere Visualizza.

    Per impostazione predefinita, i valori vengono trasformati sul posto. Per confrontare i valori trasformati con i valori originali, usare il componente Aggiungi colonne per ricombinare i set di dati e visualizzare le colonne affiancate.

  • Per salvare la trasformazione in modo che sia possibile applicare lo stesso metodo di normalizzazione a un altro set di dati, selezionare il componente e selezionare Registra set di dati nella scheda Output nel pannello destro.

    È quindi possibile caricare le trasformazioni salvate dal gruppo Trasformazioni del riquadro di spostamento a sinistra e applicarle a un set di dati con lo stesso schema usando Applica trasformazione.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.