Share via


Creare partizioni ed eseguire campionamenti

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).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Crea più partizioni di un set di dati in base al campionamento

Categoria: Trasformazione dei dati/Esempio e Divisione

Nota

Si applica a: Machine Learning Studio (versione classica)

Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Partizione e esempio in Machine Learning Studio (versione classica), per eseguire il campionamento in un set di dati o per creare partizioni dal set di dati.

Il campionamento è uno strumento importante di Machine Learning perché consente di ridurre le dimensioni di un set di dati, mantenendo lo stesso rapporto di valori. Questo modulo supporta diverse attività correlate importanti in Machine Learning:

  • Divisione dei dati in più sottosezioni delle stesse dimensioni.

    È possibile usare le partizioni per la convalida incrociata o per assegnare case a gruppi casuali.

  • Separazione dei dati in gruppi e quindi uso dei dati da un gruppo specifico.

    Dopo l'assegnazione casuale di case a gruppi diversi, potrebbe essere necessario modificare le funzionalità associate a un solo gruppo.

  • Campionamento.

    È possibile estrarre una percentuale dei dati, applicare il campionamento casuale o scegliere una colonna da usare per bilanciare il set di dati ed eseguire il campionamento astratto sui relativi valori.

  • Creazione di un set di dati più piccolo per il test.

    Se si dispone di molti dati, è possibile usare solo le prime n righe durante la configurazione dell'esperimento e quindi passare all'uso del set di dati completo quando si compila il modello. È anche possibile usare il campionamento per creare un set di dati più piccolo da usare nello sviluppo.

Come configurare la partizione e l'esempio

Questo modulo supporta più metodi per dividere i dati in partizioni o per il campionamento. Scegliere prima il metodo e quindi impostare opzioni aggiuntive richieste dal metodo .

  • Ottenere il primo numero di righe

Ottenere le prime N righe da un set di dati

Usare questa modalità per ottenere soltanto le prime n righe. Questa opzione è utile se si vuole testare un esperimento su un numero ridotto di righe e non è necessario bilanciare o campionare i dati in alcun modo.

  1. Aggiungere il modulo Partizione ed esempio all'esperimento in Studio (versione classica) e connettere il set di dati.

  2. Modalità di partizione o di esempio: impostare questa opzione su Head.

  3. Numero di righe da selezionare: digitare il numero di righe da restituire.

    Il numero di righe specificato deve essere un numero intero non negativo. Se il numero di righe selezionate è maggiore del numero di righe nel set di dati, viene restituito l'intero set di dati.

  4. Eseguire l'esperimento.

Il modulo restituisce un singolo set di dati contenente solo il numero specificato di righe. Le righe vengono sempre lette dall'inizio del set di dati.

Creare un esempio di dati

Questa opzione supporta il campionamento casuale semplice o il campionamento casuale astratto. Ciò è utile se si vuole creare un set di dati di esempio rappresentativo più piccolo per i test.

  1. Aggiungere il modulo Partizione ed esempio all'esperimento in Studio (versione classica) e connettere il set di dati.

  2. Modalità di partizione o di campionamento: impostare questa opzione su Campionamento.

  3. Frequenza di campionamento: digitare un valore compreso tra 0 e 1. questo valore specifica la percentuale di righe del set di dati di origine da includere nel set di dati di output.

    Ad esempio, se si vuole solo la metà del set di dati originale, 0.5 digitare per indicare che la frequenza di campionamento deve essere del 50%.

    Le righe del set di dati di input vengono rimescolate e inserite in modo selettivo nel set di dati di output, in base al rapporto specificato.

  4. Valore di seed casuale per il campionamento: facoltativamente, digitare un numero intero da usare come valore di seed.

    Questa opzione è importante se si vuole dividere le righe nello stesso modo ogni volta. Il valore predefinito è 0, ovvero viene generato un valore di avviarsi in base all'orologio di sistema. Ciò può comportare risultati leggermente diversi ogni volta che si esegue l'esperimento.

  5. Suddivisione astratto per il campionamento: selezionare questa opzione se è importante che le righe del set di dati siano suddivise in modo uniforme per una colonna chiave prima del campionamento.

    Per Colonna chiave di stratificazione per il campionamento, selezionare una singola colonna a più strati da usare per la divisione del set di dati. Le righe del set di dati vengono quindi suddivise come segue:

    1. Tutte le righe di input vengono raggruppate (stratificate) in base ai valori nella colonna di livello specificato.

    2. Le righe vengono mescolate all'interno di ogni gruppo.

    3. Ogni gruppo viene aggiunto selettivamente al set di dati di output per soddisfare il rapporto specificato.

    Per altre informazioni sul campionamento stratificato, vedere la sezione Note tecniche.

  6. Eseguire l'esperimento.

    Con questa opzione, il modulo restituisce un singolo set di dati contenente un campionamento rappresentativo dei dati.

    La parte rimanente non campionata del set di dati non viene restituita. È tuttavia possibile creare join sui set di dati usando il modulo Applica SQL trasformazione per determinare le righe non utilizzate.

Suddividere i dati in partizioni

Usare questa opzione quando si vuole dividere il set di dati in subset dei dati. Questa opzione è utile anche quando si vuole creare un numero personalizzato di ripiegamenti per la convalida incrociata o per suddividere le righe in più gruppi.

  1. Aggiungere il modulo Partizione ed esempio all'esperimento in Studio (versione classica) e connettere il set di dati.

  2. Per Modalità di partizione o di esempio selezionare Assegna a ripiegamenti.

  3. Usa sostituzione nel partizionamento: selezionare questa opzione se si vuole che la riga campionata sia inserita nuovamente nel pool di righe per un potenziale riutilizzo. Di conseguenza, la stessa riga potrebbe essere assegnata a più fold.

    Se non si usa la sostituzione (opzione predefinita), la riga campionata non viene inserita nuovamente nel pool di righe per un potenziale riutilizzo. Di conseguenza, ogni riga può essere assegnata a una sola ripiega.

  4. Suddivisione casuale: selezionare questa opzione se si desidera che le righe siano assegnate in modo casuale alle ripiegazioni.

    Se non si seleziona questa opzione, le righe vengono assegnate alle ripiegazioni usando il metodo round robin.

  5. Valore di seed casuale: facoltativamente, digitare un numero intero da usare come valore di seed. Questa opzione è importante se si vuole dividere le righe nello stesso modo ogni volta. In caso contrario, il valore predefinito 0 indica che verrà usato un valore di inizializzazione casuale.

  6. Specificare il metodo del partitioner: indicare come si desidera che i dati siano apporti a ogni partizione usando queste opzioni:

    • Partiziona in modo uniforme: usare questa opzione per inserire un numero uguale di righe in ogni partizione. Per specificare il numero di partizioni di output, digitare un numero intero nella casella di testo Specificare il numero di ripartizioni da suddividere uniformemente in .

    • Partizione con proporzioni personalizzate: usare questa opzione per specificare le dimensioni di ogni partizione come elenco delimitato da virgole.

      Ad esempio, se si vogliono creare tre partizioni, con la prima partizione contenente il 50% dei dati e le due partizioni rimanenti ognuna contenente il 25% dei dati, fare clic sulla casella di testo Elenco delle proporzioni separate da virgola e digitare questi numeri:.5, .25, .25

      La somma di tutte le dimensioni delle partizioni deve essere esattamente 1.

      • Se si immettono numeri che sommano un massimo di 1, viene creata una partizione aggiuntiva per contenere le righe rimanenti. Ad esempio, se si digitano i valori .2 e .3, viene creata una terza partizione che contiene il restante 50% di tutte le righe.

      • Se si immettono numeri che sommano fino a più di 1, viene generato un errore quando si esegue l'esperimento.

  7. Suddivisione astratto: selezionare questa opzione se si vuole che le righe siano stratificate durante la divisione e quindi scegliere la colonna strata.

    Per altre informazioni sul campionamento stratificato, vedere la sezione Note tecniche.

  8. Eseguire l'esperimento.

    Con questa opzione, il modulo restituisce più set di dati partizionati usando le regole specificate.

Usare i dati di una partizione predefinita

Questa opzione viene usata quando un set di dati è stato suddiviso in più partizioni e ora si vuole caricare ogni partizione a sua volta per un'ulteriore analisi o elaborazione.

  1. Aggiungere il modulo Partition e Sample all'esperimento in Studio (versione classica).

  2. Connessione nell'output di un'istanza precedente di Partition e Sample. Tale istanza deve aver usato l'opzione Assegna a folds per generare un certo numero di partizioni.

  3. Partition or sample mode (Modalità partizione o campione): selezionare Pick Fold (Seleziona fold).

  4. Specificare la parte da cui eseguire il campionamento: selezionare una partizione da usare digitandone l'indice. Gli indici di partizione sono in base 1. Ad esempio, se il set di dati è stato diviso in tre parti, le partizioni hanno gli indici 1, 2 e 3.

    Se si digita un valore di indice non valido, viene generato un errore in fase di progettazione: "Errore 0018: Il set di dati contiene dati non validi".

    Oltre a raggruppare il set di dati per fold, è possibile separare il set di dati in due gruppi: una destinazione e tutto il resto. A tale scopo, digitare l'indice di una singola parte e quindi selezionare l'opzione Pick complement of the selected fold (Seleziona complemento della parte selezionata) per ottenere tutti gli elementi, ad esempio i dati nella parte specificata.

  5. Se si lavora con più partizioni, è necessario aggiungere altre istanze del modulo Partition e Sample per gestire ogni partizione.

    Si supponga, ad esempio, che i pazienti precedentemente partizionati in cinque volte usando l'età. Per usare ogni singola descrizione, sono necessarie cinque copie del modulo Partition and Sample (Partizione e esempio) e in ognuna è necessario selezionare una parte diversa.

    Suggerimento

    L'esperimento di esempio Split Partition and Sample (Divisione partizione ed esempio) illustra questa tecnica.

  6. Eseguire l'esperimento.

    Con questa opzione, il modulo restituisce un singolo set di dati contenente solo le righe assegnate a tale fold.

Nota

Non è possibile visualizzare direttamente le designazioni di fold; sono presenti solo nei metadati.

Esempio

Per esempi di come viene usato questo modulo, vedere il Azure AI Gallery:

  • Convalida incrociata per la classificazione binaria: viene applicata una frequenza di campionamento del 20% per creare un set di dati campionato casualmente più piccolo. Il set di dati del censimento originale aveva più di 30.000 righe. Il set di dati campionato ha circa 6500.

  • Convalida incrociata per la regressione: i dati vengono assegnati in modo casuale e uniforme a cinque sezioni, senza stratificazione, e i risultati vengono usati per la convalida incrociata.

  • Split Partition and Sample (Divisione partizione e esempio): illustra diversi modi per usare il partizionamento e il campionamento. In primo luogo, l'opzione Assegna a folds viene usata per assegnare righe nel set di dati a uno dei tre gruppi con dimensioni uniforme. Vengono quindi aggiunte altre tre istanze di Partition e Sample usando la modalità Pick Fold per applicare operazioni a subset di dati

    • Nella prima parte (indice 1), le righe vengono suddivise in modo casuale.
    • Nella seconda fase (indice 2), le righe vengono suddivise per istruzione.
    • Nella terza parte (indice di 3), le righe vengono suddivise in base all'età.

Note tecniche

  • La colonna di stratificazione deve essere categorica con valori discreti. Se la colonna non è già categorica e viene visualizzato un errore, usare Modifica metadati per modificare le proprietà della colonna.

  • La colonna strata specificata non può contenere dati continui, ad esempio dati numerici con valori a virgola mobile in ogni cella. In caso contrario, il modulo non può elaborare i dati e restituisce un errore.

    Il motivo è che qualsiasi colonna usata per la stratificazione deve avere un set finito di valori possibili. Se la colonna degli attributi specificata contiene valori a virgola mobile e la colonna non è di tipo categorico, potenzialmente contiene un numero infinito di valori.

  • Se la colonna strata contiene valori booleani e si vuole che siano interpretati come categorici, è necessario usare il modulo Edit Metadata (Modifica metadati) per modificare l'etichetta dei metadati.

  • Se la colonna strata contiene dati di tipo stringa o numerici con troppi valori univoci, la colonna non è un candidato ideale per il campionamento stratificato.

Altre informazioni sul campionamento stratificato

Il campionamentostratificato garantisce che i subset di dati dispongono di un campionamento rappresentativo della colonna degli strata selezionata. Questa tecnica è utile, ad esempio, quando si desidera garantire che i dati di training contengano la stessa distribuzione di valori relativi all'età presente nei dati di test o viceversa. In uno studio clinico, ad esempio, è possibile usare la stratificazione nella colonna relativa al sesso dei partecipanti, in modo che, quando i dati vengono partizionati, i maschi e le femmine siano distribuiti uniformemente. La stratificazione garantisce che i rapporti dei valori selezionati vengono mantenuti.

È possibile specificare i valori in base ai quali separare i dati selezionando una singola colonna da utilizzare come colonna degli attributi.

Questo modulo richiede che la colonna strata sia una colonna categorica. Se per gli strati si desidera usare una colonna di valori integer, è consigliabile assegnare a tale colonna un tipo categorico. È possibile eseguire questa operazione tramite lo schema dei dati prima di aggiungerli a Machine Learning Studio (versione classica) oppure è possibile aggiornare i metadati della colonna usando Modifica metadati.

Le colonne con dati continui, ovvero dati numerici con valori a virgola mobile in ogni cella, non possono essere usate come colonne di strati. Se si verifica un errore, è possibile usare Raggruppa dati in contenitori per raggruppare i valori in intervalli discreti e quindi usare Modifica metadati per garantire che la colonna verrà considerata categorica.

Input previsti

Nome Tipo Descrizione
Set di dati Tabella dati Set di dati da suddividere

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Partition or sample mode Elenco Metodi di campionamento campionamento Selezionare la modalità di partizionamento o di campionamento
Use replacement in the partitioning Qualsiasi Boolean Falso Indicare se le ritasci devono essere disgiunte (impostazione predefinita- nessuna sostituzione) o sovrapposte (true - usa sostituzione)
Randomized split Qualsiasi Boolean True Indica se la divisione è casuale
Random seed Qualsiasi Integer 0 Specificare un valore di inizializzazione per il generatore di numeri casuali
Specify the partitioner method Elenco Metodi di partizione Partition evenly Selezionare Partizionamento uniforme per partizionare in ritarsi di dimensioni uguali o Partizione con proporzioni personalizzate da partizionare in ritarsi di dimensioni personalizzate
Specify number of folds to split evenly into >=1 Integer 5 Selezionare un numero di partizioni in cui dividere
Stratified split Elenco Tipo True/False Falso Indicare se la divisione è stratificata
Stratification key column Qualsiasi ColumnSelection Contiene la chiave di stratificazione
Elenco di proporzioni separate da virgola Qualsiasi string Elencare le proporzioni, separate da virgole
Stratified split for customized fold assignment Qualsiasi Tipo True/False Falso Indica se la divisione è stratificata per le assegnazioni di sezione personalizzate
Stratification key column for customized fold assignment Qualsiasi ColumnSelection Contiene la chiave di stratificazione per le assegnazioni di sezioni personalizzate
Specify which fold to be sampled from >=1 Integer 1 Contiene l'indice della sezione da campionare
Pick complement of the selected fold Qualsiasi Boolean Falso Selezionare il complemento della parte specificata
Rate of sampling Qualsiasi Float 0,01 Scegliere una frequenza di campionamento
Random seed for sampling Qualsiasi Integer 0 Specificare un valore di inizializzazione per il generatore di numeri casuali per il campionamento
Stratified split for sampling Qualsiasi Vero/Falso Falso Indicare se la divisione è stratificata per il campionamento
Stratification key column for sampling Qualsiasi ColumnSelection Contiene la chiave di stratificazione per il campionamento
Number of rows to select >=0 Integer 10 Selezionare il numero massimo di record che sarà consentito passare al modulo successivo

Output

Nome Tipo Descrizione
oDataset Tabella dati Set di dati risultante dalla suddivisione

Vedi anche

Sample and Split
Dividere dati
Edit Metadata (Modifica metadati)
Group Data into Bins (Raggruppa dati in contenitori)