Condividi tramite


Trasformazione Conteggio compilazioni

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 una trasformazione che trasforma le tabelle di conteggio in funzionalità, in modo da poter applicare la trasformazione a più set di dati

Categoria: Learning con conteggi

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 Build Counting Transform in Machine Learning Studio (versione classica) per analizzare i dati di training. Da questi dati, il modulo compila una tabella di conteggio e un set di funzionalità basate sul conteggio che possono essere usate in un modello predittivo.

Una tabella count contiene la distribuzione congiunta di tutte le colonne di funzionalità, data una colonna etichetta specificata. Queste statistiche sono utili per determinare quali colonne hanno il maggior valore di informazioni. La funzionalità basata sul conteggio è utile perché tali funzionalità sono più compatte dei dati di training originali, ma acquisiscono tutte le informazioni più utili. È possibile usare i parametri del modulo per personalizzare il modo in cui i conteggi vengono trasformati nel nuovo set di funzionalità basate sul conteggio.

Dopo aver generato i conteggi e averli trasformati in funzionalità, è possibile salvare il processo come trasformazione per il nuovo uso sui dati correlati. È anche possibile modificare il set di funzionalità senza dover generare un nuovo set di conteggi o unire i conteggi e le funzionalità con un altro set di conteggi e funzionalità.

La possibilità di ri-usare e applicare nuovamente le funzionalità basate sul conteggio è utile in scenari come questi:

  • I nuovi dati diventano disponibili per migliorare la copertura o il bilanciamento del set di dati.
  • I conteggi e le funzionalità originali erano basati su un set di dati molto grande che non si vuole rielaborare. Unendo i conteggi è possibile aggiornare con nuovi dati.
  • Si vuole assicurarsi che lo stesso set di funzionalità basate sul conteggio sia applicato a tutti i set di dati in uso nell'esperimento.

Come configurare la trasformazione Conteggio compilazioni

È possibile creare una trasformazione di funzionalità basata sul conteggio direttamente da un set di dati ed eseguirla nuovamente ogni volta che si esegue un esperimento. In caso contrario, è possibile generare un set di conteggi e quindi unirlo con nuovi dati per creare una tabella di conteggio aggiornata.

  • Creare funzionalità basate sul conteggio da un set di dati

    Iniziare da qui se non sono stati creati conteggi in precedenza. Usare il modulo Build Counting Transform per creare tabelle di conteggio e generare automaticamente un set di funzionalità.

    Questo processo crea una trasformazione di funzionalità che è possibile applicare a un set di dati usando il modulo Applica trasformazione.

  • Unire conteggi e funzionalità da più set di dati

    Se è già stata generata una tabella di conteggio da un set di dati precedente, generare conteggi solo sui nuovi dati o importare una tabella di conteggio esistente creata in una versione precedente di Machine Learning. Unire quindi i due set di tabelle di conteggio

    Questo processo crea una nuova trasformazione di funzionalità che è possibile applicare a un set di dati usando il modulo Applica trasformazione.

Creare funzionalità basate sul conteggio da un set di dati

  1. In Machine Learning Studio (versione classica) aggiungere il modulo Build Counting Transform all'esperimento. È possibile trovare il modulo in Trasformazione dati, nella categoria Learning con Conteggi.

  2. Connessione set di dati da usare come base per le funzionalità basate sul conteggio.

  3. Usare l'opzione Numero di classi per specificare il numero di valori nella colonna etichetta.

    • Per qualsiasi problema di classificazione binaria, digitare 2.
    • Per un problema di classificazione con più di due possibili output, è necessario specificare in anticipo il numero esatto di classi da contare. Se si immette un numero minore del numero effettivo di classi, il modulo restituirà un errore.
    • Se il set di dati contiene più valori di classe e i valori delle etichette di classe non sono sequenziali, è necessario usare Modifica metadati per specificare che la colonna contiene valori categorici.
  4. Per l'opzione I bit della funzione hash indicano il numero di bit da usare per l'hashing dei valori.

    È in genere sicuro accettare le impostazioni predefinite, a meno che non si sappia che sono presenti molti valori da contare e potrebbe essere necessario un numero di bit superiore.

  5. In Seed della funzione hash è possibile specificare facoltativamente un valore per il seeding della funzione hash. L'impostazione manuale di un valore di seed viene in genere eseguita quando si vuole garantire che i risultati dell'hash siano deterministici tra le esecuzioni dello stesso esperimento.

  6. Usare l'opzione Tipo di modulo per indicare il tipo di dati da conteggiare, in base alla modalità di archiviazione:

    • Set di dati: scegliere questa opzione se si conta i dati salvati come set di dati in Machine Learning Studio (versione classica).

    • BLOB: scegliere questa opzione se i dati di origine usati per compilare i conteggi vengono archiviati come BLOB in blocchi Windows archiviazione di Azure.

    • MapReduce: scegliere questa opzione se si vogliono chiamare le funzioni Map/Reduce per elaborare i dati.

      Per usare questa opzione, i nuovi dati devono essere forniti come BLOB Windows archiviazione di Azure ed è necessario avere accesso a un cluster HDInsight distribuito. Quando si esegue l'esperimento, nel cluster viene avviato un processo Map/Reduce per eseguire il conteggio.

      Per i set di dati di dimensioni molto grandi, è consigliabile usare questa opzione quando possibile. Sebbene l'uso del servizio HDInsight possa comportare costi aggiuntivi, il calcolo in set di dati di grandi dimensioni può essere più veloce in HDInsight.

      Per altre informazioni, vedere https://azure.microsoft.com/services/hdinsight/.

  7. Dopo aver specificato la modalità di archiviazione dati, specificare eventuali informazioni di connessione aggiuntive per i dati necessari:

    • Se si usano dati di Hadoop o di archiviazione BLOB, specificare il percorso e le credenziali del cluster.
    • Se in precedenza è stato usato un modulo Importa dati nell'esperimento per accedere ai dati, è necessario immettere nuovamente il nome dell'account e le credenziali. Il modulo Build Counting Transform accede all'archivio dati separatamente per leggere i dati e compilare le tabelle necessarie.
  8. Per Colonna o indice etichetta selezionare una colonna come colonna etichetta.

    È necessaria una colonna etichetta. La colonna deve essere già contrassegnata come etichetta o viene generato un errore.

  9. Usare l'opzione Selezionare le colonne da contare e selezionare le colonne per cui generare i conteggi.

    In generale, i candidati migliori sono colonne altamente dimensionali, insieme a qualsiasi altra colonna correlata a tali colonne.

  10. Usare l'opzione Tipo tabella conteggio per specificare il formato usato per archiviare la tabella count.

    • Dizionario: crea una tabella di conteggio dei dizionari. Tutti i valori di colonna nelle colonne selezionate vengono considerati come stringhe e vengono sottoposti ad hashing usando una matrice di bit con dimensioni massime pari a 31 bit. Pertanto, tutti i valori di colonna sono rappresentati da un numero intero non negativo a 32 bit.

      In generale, è consigliabile usare questa opzione per set di dati più piccoli (meno di 1 GB) e usare l'opzione CMSketch per set di dati più grandi.

      Dopo aver selezionato questa opzione, configurare il numero di bit usati dalla funzione hash e impostare un valore di inizializzazione per l'inizializzazione della funzione hash.

    • CMSketch: crea una tabella di sketch minima di conteggio. Con questa opzione, vengono usate più funzioni hash indipendenti con un intervallo più piccolo per migliorare l'efficienza della memoria e ridurre i rischi di collisioni hash. I parametri per l'hashing delle dimensioni in bit e il valore di seeding hash non hanno alcun effetto su questa opzione.

  11. Eseguire l'esperimento.

    Il modulo crea una trasformazione di featurization che è possibile usare come input per il modulo Applica trasformazione. L'output del modulo Applica trasformazione è un set di dati trasformato che può essere usato per eseguire il training di un modello.

    Facoltativamente, è possibile salvare la trasformazione se si vuole unire il set di funzionalità basate sul conteggio con un altro set di funzionalità basate sul conteggio. Per altre informazioni, vedere Merge Count Transform.For more information, see Merge Count Transform.

Unire conteggi e funzionalità da più set di dati

  1. In Machine Learning Studio (versione classica) aggiungere il modulo Build Counting Transform all'esperimento e connettere il set di dati che contiene i nuovi dati da aggiungere.

  2. Usare l'opzione Tipo modulo per indicare l'origine dei nuovi dati. È possibile unire dati da origini diverse.

    • Set di dati: scegliere questa opzione se i nuovi dati vengono forniti come set di dati in Machine Learning Studio (versione classica).

    • BLOB: scegliere questa opzione se i nuovi dati vengono forniti come BLOB in blocchi Windows archiviazione di Azure.

    • MapReduce: scegliere questa opzione se si vogliono chiamare le funzioni Map/Reduce per elaborare i dati.

      Per usare questa opzione, i nuovi dati devono essere forniti come BLOB Windows archiviazione di Azure ed è necessario avere accesso a un cluster HDInsight distribuito. Quando si esegue l'esperimento, nel cluster verrà avviato un processo Map/Reduce per eseguire il conteggio.

      Per altre informazioni, vedere https://azure.microsoft.com/services/hdinsight/.

  3. Dopo aver specificato la modalità di archiviazione dati, specificare eventuali informazioni di connessione aggiuntive per i nuovi dati:

    • Se si usano dati di Hadoop o di archiviazione BLOB, specificare il percorso e le credenziali del cluster.

    • Se in precedenza è stato usato un modulo Importa dati nell'esperimento per accedere ai dati, è necessario immettere nuovamente il nome dell'account e le credenziali. Il motivo è che il modulo Build Counting Transform accede separatamente all'archivio dati per leggere i dati e compilare le tabelle necessarie.

  4. Quando si uniscono i conteggi, le opzioni seguenti devono essere esattamente uguali in entrambe le tabelle dei conteggi:

    • Number of classes
    • The bits of hash function
    • The seed of hash function
    • Select columns to count

    La colonna etichetta può essere diversa, purché contenga lo stesso numero di classi.

  5. Usare l'opzione Tipo di tabella conteggio per specificare il formato e la destinazione per la tabella conteggio aggiornata.

    Suggerimento

    Il formato delle due tabelle di conteggio da unire deve essere lo stesso. In altre parole, se è stata salvata una tabella di conteggio precedente usando il formato Dictionary , non è possibile unirla ai conteggi salvati usando il formato CMSketch .

  6. Eseguire l'esperimento.

    Il modulo crea una trasformazione di esezione delle funzionalità che è possibile usare come input per il modulo Applica trasformazione. L'output del modulo Apply Transformation è un set di dati trasformato che può essere usato per eseguire il training di un modello.

  7. Per unire questo set di conteggi a un set esistente di funzionalità basate sul conteggio, vedere Merge Count Transform.

Esempio

Per altre informazioni sull'algoritmo counts e sull'efficacia della modellazione basata sul conteggio rispetto ad altri metodi, vedere questi articoli.

Gli esperimenti seguenti nel Azure AI Gallery illustrano come usare l'apprendimento basato sul conteggio per creare vari modelli predittivi:

Parametri del modulo

I parametri seguenti vengono usati con tutte le opzioni:

Nome Tipo Intervallo Facoltativo Predefinito Descrizione
Number of classes Integer >=2 Obbligatoria 2 Numero di classi per l'etichetta.
The bits of hash function Integer [12;31] Necessario 20 Numero di bit dell'intervallo della funzione hash.
The seed of hash function Integer any Necessario 1 Valore di seeding per la funzione hash.
Tipo di modulo Necessario Set di dati Tipo di modulo da usare durante la generazione della tabella di conteggio.
Count table type CountTableType selezionare dall'elenco Necessario Dizionario Specificare il formato della tabella count.

Quando si seleziona l'opzione BLOB, si applicano le opzioni seguenti.

Nome Tipo Intervallo Facoltativo Predefinito Descrizione
Nome del BLOB string any Necessario Nome del BLOB di input. Non includere il nome del contenitore.
Nome account string any Necessario Nome dell'account di archiviazione.
Chiave dell'account SecureString any Necessario Chiave dell'account di archiviazione.
Nome contenitore string any Necessario Contenitore BLOB di Azure che contiene il BLOB di input.
Count columns string any Necessario Indici in base uno di gruppi di colonne per eseguire il conteggio.
Colonna di etichetta Integer >=1 Necessario 1 Indice in base uno della colonna etichetta.
Blob format any Necessario CSV Formato del file di testo BLOB.

I parametri seguenti si applicano quando si usa MapReduce per generare i conteggi:

Nome Tipo Intervallo Facoltativo Predefinito Descrizione
Nome dell'account di archiviazione predefinito string any Necessario Nessuno Nome dell'account di archiviazione contenente il BLOB di input.
Default storage account key SecureString any Necessario Nessuno Chiave dell'account di archiviazione contenente il BLOB di input.
Default container name string any Necessario Nessuno Nome del contenitore BLOB per scrivere la tabella di conteggio.
Cluster URI string any Necessario Nessuno URI del cluster Hadoop di HDInsight.
Username string any Necessario Nessuno Nome utente per l'accesso al cluster Hadoop di HDInsight.

I parametri seguenti definiscono il formato della tabella count:

Nome Tipo Intervallo Facoltativo Predefinito Descrizione
Count table type CountTableType Elenco Necessario Dizionario Tipo della tabella di conteggio.
Label column index or name ColumnSelection Obbligatorio se la tabella count viene salvata come set di dati Nessuno Selezionare la colonna etichetta.
Select columns to count ColumnSelection Obbligatorio se la tabella count viene salvata come set di dati Selezionare le colonne per il conteggio. Queste colonne sono considerate funzionalità categoriche.
Depth of CM sketch table Integer >=1 Obbligatorio se la tabella count usa il formato CMSketch 4 Profondità della tabella di sketch CM, che equivale al numero di funzioni hash.
Larghezza della tabella CM sketch Integer [1;31] Obbligatorio se la tabella count usa il formato CMSketch 20 Larghezza della tabella di sketch CM, ovvero il numero di bit dell'intervallo della funzione hash.
Etichetta colonna indice o colonna nome ColumnSelection Obbligatorio se la tabella count viene salvata come set di dati Seleziona la colonna etichetta.
Select columns to count ColumnSelection Obbligatorio se la tabella count viene salvata come set di dati Seleziona le colonne per il conteggio. Queste colonne sono considerate funzionalità categoriche.
Count table type Obbligatorio se la tabella count viene salvata come set di dati Dizionario Specifica il tipo della tabella di conteggio.
Depth of CM sketch table Integer >=1 Obbligatorio se la tabella count viene salvata come CMSketch 4 Profondità della tabella di sketch CM, che equivale al numero di funzioni hash.
Larghezza della tabella CM sketch Integer [1;31] Obbligatorio se la tabella count viene salvata come CMSketch 20 Larghezza della tabella di sketch CM, ovvero il numero di bit dell'intervallo della funzione hash.

Output

Nome Tipo Descrizione
Trasformazione conteggio Interfaccia ITransform Trasformazione di conteggio.

Eccezioni

Eccezione Descrizione
Errore 0003 L'eccezione si verifica se uno o più input sono null o vuoti.
Errore 0004 L'eccezione si verifica se un parametro è inferiore o uguale a un valore specifico.
Errore 0005 L'eccezione si verifica se il parametro è inferiore a un valore specifico.
Errore 0007 L'eccezione si verifica se il parametro è maggiore di un valore specifico.
Errore 0009 Si verifica un'eccezione se il nome dell'account di archiviazione di Azure o il nome del contenitore specificato non è corretto.
Errore 0065 L'eccezione si verifica se il nome del BLOB di Azure è stato specificato in modo errato.
Errore 0011 L'eccezione si verifica se l'argomento passato per il set di colonne non è applicabile ad alcuna colonna del set di dati.
Errore 0049 L'eccezione si verifica se non è possibile analizzare un file.
Errore 1000 Eccezione interna della libreria.
Errore 0059 L'eccezione si verifica se non è possibile analizzare un indice di colonna specificato in un selettore di colonna.
Errore 0060 L'eccezione si verifica quando viene specificato un intervallo di colonne fuori intervallo in un selettore di colonna.
Errore 0089 Si verifica un'eccezione quando il numero di classi specificato è inferiore al numero di classi effettivo in un set di dati usato per il conteggio.

Per un elenco degli errori specifici dei moduli di Studio (versione classica), vedere Machine Learning codici di errore.

Per un elenco delle eccezioni API, vedere Machine Learning di errore dell'API REST.

Vedi anche

Learning with Counts