Condividi tramite


Componente Split Data

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

Usare il componente Split Data per dividere un set di dati in due set distinti.

Questo componente è utile quando è necessario separare i dati in set di training e test. È anche possibile personalizzare la modalità di divisione dei dati. Alcune opzioni supportano la casualizzazione dei dati. Altri sono personalizzati per un determinato tipo di dati o tipo di modello.

Configurare il componente

Suggerimento

Prima di scegliere la modalità di suddivisione, leggere tutte le opzioni per determinare il tipo di divisione necessario. Se si modifica la modalità di suddivisione, è possibile reimpostare tutte le altre opzioni.

  1. Aggiungere il componente Split Data alla pipeline nella finestra di progettazione. È possibile trovare questo componente in Trasformazione dati nella categoria Esempio e Divisione .

  2. Modalità di suddivisione: scegliere una delle modalità seguenti, a seconda del tipo di dati disponibili e della modalità di divisione. Ogni modalità di suddivisione ha opzioni diverse.

    • Divisione righe: usare questa opzione se si vogliono dividere i dati in due parti. È possibile specificare la percentuale di dati da inserire in ogni divisione. Per impostazione predefinita, i dati sono divisi 50/50.

      È anche possibile casualizzare la selezione di righe in ogni gruppo e usare il campionamento stratificato. Nel campionamento stratificato è necessario selezionare una singola colonna di dati per cui si desidera che i valori vengano ripartiti equamente tra i due set di dati dei risultati.

    • Suddivisione espressione regolare: scegliere questa opzione quando si vuole dividere il set di dati testando una singola colonna per un valore.

      Ad esempio, se si sta analizzando il sentiment, è possibile verificare la presenza di un nome di prodotto specifico in un campo di testo. È quindi possibile dividere il set di dati in righe con il nome e le righe del prodotto di destinazione senza il nome del prodotto di destinazione.

    • Divisione espressione relativa: usare questa opzione ogni volta che si desidera applicare una condizione a una colonna numerica. Il numero può essere un campo di data/ora, una colonna che contiene importi di età o dollaro o persino una percentuale. Ad esempio, è possibile dividere il set di dati in base al costo degli elementi, raggruppare gli utenti per intervalli di età o separare i dati in base a una data del calendario.

Dividere le righe

  1. Aggiungere il componente Split Data alla pipeline nella finestra di progettazione e connettere il set di dati da dividere.

  2. Per Modalità di suddivisione selezionare Split Rows (Divisione righe).

  3. Frazione di righe nel primo set di dati di output: usare questa opzione per determinare il numero di righe che verranno inserite nel primo output sul lato sinistro. Tutte le altre righe verranno inserite nel secondo output (lato destro).

    Il rapporto rappresenta la percentuale di righe inviate al primo set di dati di output, quindi è necessario immettere un numero decimale compreso tra 0 e 1.

    Ad esempio, se si immette 0,75 come valore, il set di dati verrà diviso 75/25. In questa divisione, il 75% delle righe verrà inviato al primo set di dati di output. Il restante 25% verrà inviato al secondo set di dati di output.

  4. Selezionare l'opzione Suddivisione casuale se si vuole selezionare in modo casuale i dati nei due gruppi. Questa è l'opzione preferita quando si creano set di dati di training e test.

  5. Valore di inizializzazione casuale: questo parametro verrà ignorato se la divisione casuale è impostata su false. In caso contrario, immettere un valore intero non negativo per avviare la sequenza pseudorandoma delle istanze da usare. Questo valore di inizializzazione predefinito viene usato in tutti i componenti che generano numeri casuali.

    Se si specifica un valore di inizializzazione, i risultati sono riproducibili. Se è necessario ripetere i risultati di un'operazione di divisione, è necessario specificare lo stesso numero di inizializzazione per il generatore di numeri casuali.

  6. Suddivisione stratificata: impostare questa opzione su True per assicurarsi che i due set di dati di output contengano un campione rappresentativo dei valori nella colonna strata o nella colonna chiave di stratificazione.

    Con il campionamento stratificato, i dati vengono divisi in modo che ogni set di dati di output ottenga approssimativamente la stessa percentuale di ogni valore di destinazione. Ad esempio, è possibile assicurarsi che i set di training e di test siano approssimativamente bilanciati in relazione al risultato o a un'altra colonna, ad esempio il sesso.

  7. Inviare la pipeline.

Selezionare un'espressione regolare

  1. Aggiungere il componente Split Data alla pipeline e connetterlo come input al set di dati da dividere.

  2. Per Modalità di suddivisione selezionare Divisione espressione regolare.

  3. Nella casella Espressione regolare immettere un'espressione regolare valida.

    L'espressione regolare deve seguire la sintassi Python per le espressioni regolari.

  4. Inviare la pipeline.

    In base all'espressione regolare specificata, il set di dati viene diviso in due set di righe: righe con valori che corrispondono all'espressione e a tutte le righe rimanenti.

Negli esempi seguenti viene illustrato come dividere un set di dati usando l'opzione Espressione regolare .

Singola parola intera

Questo esempio inserisce nel primo set di dati tutte le righe che contengono il testo Gryphon nella colonna Text. Inserisce altre righe nel secondo output di Split Data.

    \"Text" Gryphon  

Substring

In questo esempio viene cercata la stringa specificata in qualsiasi posizione all'interno della seconda colonna del set di dati. La posizione viene indicata qui dal valore di indice 1. La corrispondenza prevede la distinzione tra maiuscole e minuscole.

(\1) ^[a-f]

Il primo set di dati dei risultati contiene tutte le righe in cui la colonna dell'indice inizia con uno dei caratteri seguenti: a, b, c, d, e, f. Tutte le altre righe vengono indirizzate al secondo output.

Selezionare un'espressione relativa

  1. Aggiungere il componente Split Data alla pipeline e connetterlo come input al set di dati da dividere.

  2. Per Modalità di suddivisione selezionare Espressione relativa.

  3. Nella casella Espressione relazionale immettere un'espressione che esegue un'operazione di confronto su una singola colonna.

    Per Colonna numerica:

    • La colonna contiene numeri di qualsiasi tipo di dati numerico, inclusi i tipi di dati di data e ora.
    • L'espressione può fare riferimento a un massimo di un nome di colonna.
    • Usare il carattere e commerciale, &, per l'operazione AND. Usare il carattere pipe, |, per l'operazione OR.
    • Sono supportati gli operatori seguenti: <, >, <=, >=, ==, !=.
    • Non è possibile raggruppare le operazioni usando ( e ).

    Per colonna Stringa:

    • Sono supportati gli operatori seguenti: ==, !=.
  4. Inviare la pipeline.

    L'espressione divide il set di dati in due set di righe: righe con valori che soddisfano la condizione e tutte le righe rimanenti.

Negli esempi seguenti viene illustrato come dividere un set di dati usando l'opzione Espressione relativa nel componente Split Data .The following examples how to divide a dataset by using the Relative Expression option in the Split Data component.

Anno di calendario

Uno scenario comune consiste nel dividere un set di dati in base agli anni. L'espressione seguente seleziona tutte le righe in cui i valori nella colonna Year sono maggiori di 2010.

\"Year" > 2010

L'espressione data deve tenere conto di tutte le parti di data incluse nella colonna di dati. Il formato delle date nella colonna di dati deve essere coerente.

Ad esempio, in una colonna di data che usa il formato mmddyyyy, l'espressione deve essere simile alla seguente:

\"Date" > 1/1/2010

Indice di colonna

La seguente espressione illustra come usare l'indice di colonna per selezionare tutte le righe della prima colonna del set di dati che contengono valori minori o uguali a 30, ma non uguali a 20.

(\0)<=30 & !=20

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.