Condividi tramite


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 consiste nel modificare i valori delle colonne numeriche nel set di dati in modo da usare una scala comune, senza distorcere 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 generale e i rapporti nei dati di origine, mantenendo al tempo stesso i valori all'interno di una scala applicata a 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 0-1 oppure trasformare i valori rappresentandoli come ranghi percentili anziché come valori assoluti.
  • È possibile applicare la normalizzazione a una singola colonna o a più colonne dello 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 applicarli ad altri set di dati con lo stesso schema.

Avviso

Alcuni algoritmi richiedono di normalizzare i dati prima di eseguire il training di un modello. Altri algoritmi scalano o normalizzano autonomamente i propri dati. Pertanto, quando si sceglie un algoritmo di Machine Learning da usare per la compilazione di un modello predittivo, assicurarsi di esaminare i requisiti dei dati dell'algoritmo prima di applicare la normalizzazione ai dati di training.

Configurare normalize data (Normalizza dati)

È possibile applicare un solo metodo di normalizzazione alla volta usando questo componente. Di conseguenza, 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 seguente formula:

      normalizzazione con punteggi z

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

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

      Questa operazione viene eseguita scalando i valori di ogni funzione in modo che il valore minimo sia 0 e dividendo per il nuovo valore massimo, che è la differenza tra i valori massimo e minimo originali.

      I valori nella colonna vengono trasformati usando la seguente formula:

      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 seguente formula:

      distribuzione log-normal formula

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

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

      I valori nella colonna vengono trasformati usando la seguente formula:

      normalizzazione usando 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.