Sweep Clustering

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.

Esegue uno sweep di parametri per determinare le impostazioni ottimali per un modello di clustering

Categoria: Machine Learning/Train

Nota

Si applica a: Machine Learning Studio (versione classica)

Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Sweep Clustering in Machine Learning Studio (versione classica) per eseguire il training di un modello usando uno sweep di parametri. Uno sweep di parametri è un modo per trovare gli iperparamezzi migliori per un modello, dato un set di dati.

Il modulo Sweep Clustering è progettato specificamente per i modelli di clustering. Si fornisce un modello di clustering come input, insieme a un set di dati. Il modulo scorre un set di parametri specificato, compilando e testando modelli con parametri diversi, fino a trovare il modello con il set di cluster migliore. Calcola automaticamente la configurazione migliore e quindi esegue il data mining di un modello usando tale configurazione.

Restituisce anche un set di metriche che descrivono i modelli testati e un set di assegnazioni di cluster in base al modello migliore.

Come configurare sweep clustering

  1. Aggiungere il modulo Sweep Clustering all'esperimento in Studio (versione classica). È possibile trovare questo modulo in Machine Learning, nella categoria Train (Training).

  2. Aggiungere il modulo K-Means Clustering e il set di dati di training all'esperimento e connetterli entrambi al modulo Sweep Clustering .

  3. Configurare il modulo K-Means Clustering per l'uso di uno sweep di parametri come segue:

    1. Impostare Create trainer mode (Crea modalità di trainer) su Parameter Range (Intervallo di parametri).

    2. Usare Range Builder (o digitare manualmente più valori) per ogni parametro per impostare l'intervallo di valori su cui eseguire l'iterazione.

    3. Inizializzazione per sweep: specificare in che modo l'algoritmo K-means deve trovare i centroidi iniziali del cluster. Vengono forniti più algoritmi per inizializzare e testare in modo casuale i centroidi.

      Se il set di dati di training contiene una colonna etichetta, anche con valori parziali, è possibile usare tali valori per i centroidi. Usare l'opzione Assegna modalità etichetta per indicare come vengono usati i valori delle etichette.

      Suggerimento

      La colonna etichetta deve essere contrassegnata come tale in anticipo. Se si verifica un errore, provare a usare Modifica metadati per identificare la colonna contenente le etichette.

    4. Number of seed to sweep (Numero di sementi da eseguire): indicare il numero di diversi valori di avvio casuali da provare quando si esegue lo sweep dei parametri.

    5. Scegliere la metrica da usare per la misurazione della somiglianza del cluster. Per altre informazioni, vedere l'argomento Clustering K-Means .

    6. Iterazioni: specificare il numero totale di iterazioni che l'algoritmo K-means deve eseguire. Queste iterazioni vengono usate per ottimizzare la selezione dei centroidi del cluster.

    7. Se si usa una colonna etichetta per inizializzare lo sweep, usare l'opzione Assegna modalità etichetta per specificare come devono essere gestiti i valori nella colonna etichetta.

      • Riempi valori mancanti: se la colonna etichetta contiene alcuni valori mancanti, usare questa opzione per assegnare categorie in base al cluster a cui è assegnato il punto dati.

      • Sovrascrivi dal più vicino al centro: genera valori di etichetta per tutti i punti dati assegnati a un cluster, usando l'etichetta del punto più vicino al centro del cluster.

      • Ignora colonna etichetta: selezionare questa opzione se non si vuole eseguire una delle operazioni precedenti.

  4. Nel modulo Sweep Clustering usare l'opzione For Metric for measuring clustering result (Per la metrica per la misurazione del risultato del clustering) per specificare il metodo matematico da usare per stimare l'adattamento del modello di clustering con training:

    • Simplified Misura: questa metrica acquisisce la rigidità dei punti dati all'interno di ogni cluster. Viene calcolato come combinazione della somiglianza di ogni riga con il relativo cluster e della somiglianza con il cluster più vicino successivo. Se il cluster ha solo 1 riga, viene calcolata invece la distanza ripagata al centroide più vicino successivo, per evitare di ottenere 0 come risultato. "Semplificato" si riferisce al fatto che la distanza dal centroide del cluster viene usata come misura di somiglianza semplice. In generale, è migliore un punteggio più alto. Il valore medio del set di dati indica il livello di clustering dei dati. Se sono presenti troppi o un numero troppo basso di cluster, alcuni cluster avranno valori inferiori rispetto al resto. Per altre informazioni, vedere questo articolo di Wikipedia.

    • Davies-Bouldin: questa metrica mira a identificare il set più piccolo di cluster con la dispersione minima. Poiché la metrica è definita come rapporto di dispersione all'interno di ogni cluster rispetto alla separazione dei cluster, un valore inferiore indica che il clustering è migliore. Il modello di clustering migliore riduce al minimo questa metrica. Per calcolare la Davies-Bouldin, viene calcolata la distanza media tra riga e centroide per cluster. Per ogni coppia di cluster, la somma di tali medie viene divisa per la distanza tra i centroidi. Il valore massimo per tutti gli altri cluster è selezionato per ogni cluster e viene mediato in tutti i cluster. Per altre informazioni, vedere questo articolo di Wikipedia.

    • Dunn: questa metrica mira a identificare il set più piccolo di cluster più compatti. In genere, un valore più alto per questa metrica indica un clustering migliore. Per calcolare la metrica Dunn, la distanza minima tra centro e centroide viene divisa per la distanza massima di ogni punto dati al centro del cluster. Per altre informazioni, vedere questo articolo di Wikipedia.

    • Deviazione media: questa metrica viene calcolata prendendo la distanza media da ogni punto dati al centro del cluster. Il valore diminuisce con l'aumentare del numero di centroidi; Pertanto, non è utile quando si esegue lo sweep per trovare il numero di centroidi. Questa metrica è consigliata per l'uso quando si sceglie il valore di inizializzazione centroide migliore.

  5. Specificare la modalità di sweep dei parametri: selezionare un'opzione che definisce le combinazioni di valori usati durante il training e il modo in cui vengono scelti:

    • Intera griglia: vengono tentati e valutati tutti i valori all'interno dell'intervallo specificato. Questa opzione è in genere più costosa dal punto di vista del calcolo.

    • Sweep casuale: usare questa opzione per limitare il numero di esecuzioni. Il modello di clustering viene compilato e valutato usando una combinazione di valori scelti in modo casuale dall'intervallo consentito di valori di parametro.

  6. Numero massimo di esecuzioni in sweep casuale: impostare questa opzione se si sceglie l'opzione Sweep casuale . Digitare un valore per limitare il numero massimo di iterazioni durante il test di set di parametri scelti in modo casuale.

    Avviso

    I parametri Iterations del modulo K-Means Clustering hanno uno scopo diverso e non sono interessati da questa impostazione: limita il numero di passaggi sui dati effettuati per migliorare i cluster, riducendo al minimo la distanza media da ogni punto dati ai centroidi del cluster. Al contrario, le iterazioni definite dal parametro del modulo Sweep Clustering vengono eseguite per provare diverse inizializzazioni centroide casuali. Questo problema di minimizzazione è noto come NP-hard; Pertanto, provare diversi valori di seme casuali potrebbe produrre risultati migliori.

    Se si seleziona uno sweep casuale, usare l'opzione Valore di inizializzazione casuale per specificare i valori di inizializzazione casuali iniziali da cui iniziare a creare i centroidi. Uno dei vantaggi dell'uso di uno sweep di parametri per creare un modello di clustering è che è possibile testare facilmente più valori di inizializzazione per ridurre la sensibilità nota dei modelli di clustering al valore di inizializzazione iniziale.

  7. Fare clic su Set di colonnee scegliere le colonne da usare durante la compilazione dei cluster. Per impostazione predefinita, tutte le colonne di funzionalità vengono usate durante la compilazione e il test del modello di clustering.

    È possibile includere una colonna etichetta, se presente nel set di dati. Se è presente un'etichetta, è possibile usarla per guidare la selezione dei centroidi, usare l'etichetta come funzionalità o ignorare l'etichetta. Impostare queste opzioni per la gestione delle etichette per il modulo Kmeans Clustering , come descritto nel passaggio 3 precedente.

  8. Controlla accoda o deseleziona Solo risultati: usare questa opzione per controllare quali colonne vengono restituite nei risultati.

    Per impostazione predefinita, il modulo restituisce le colonne originali del set di dati di training insieme ai risultati. Se si deseleziona questa opzione. vengono restituite solo le assegnazioni del cluster.

  9. Aggiungere il modulo Assign Data to Clusters (Assegna dati a cluster) all'esperimento.

  10. Connessione'output con etichetta Best Trained Model (Modello con training migliore) all'input Trained Model (Modello con training) di Assign Data to Clusters (Assegna dati ai cluster).

  11. Aggiungere il set di dati destinato alla valutazione e connetterlo alla porta Dataset del modulo Assign Data to Clusters .

  12. Aggiungere il modulo Evaluate Model (Valuta modello) e connetterlo ad Assign Data to Clusters (Assegna dati ai cluster). Facoltativamente, è possibile connettere un set di dati di valutazione.

  13. Eseguire l'esperimento.

Risultati

Il modulo Sweep Clustering restituisce tre risultati diversi:

  • Modello con training ottimale. Modello con training che è possibile usare per l'assegnazione dei punteggi e la valutazione. Fare clic con il pulsante destro del mouse e scegliere Salva come modello con training per acquisire il modello di clustering ottimizzato e usarlo per l'assegnazione dei punteggi.

  • Set di dati dei risultati. Set di assegnazioni di cluster in base al modello ottimizzato.

    Nome colonna Descrizione
    Assegnazioni Questo valore indica il cluster a cui è stato assegnato ogni punto dati. I cluster nel modello con training sono etichettati con indici in base 0.
    DistancesToClusterCenter no.1

    DistancesToClusterCenter no.n
    Questo valore indica quanto il punto dati è vicino al centro di ogni cluster.

    Viene creata una colonna per ogni cluster creato nel modello ottimizzato.

    È possibile vincolare il numero di cluster usando l'opzione Numero di centroidi .

    Per impostazione predefinita, è possibile restituire le colonne dal set di dati di training insieme ai risultati, per semplificare la revisione e l'interpretazione delle assegnazioni del cluster.

  • Risultati della sweep. Set di dati contenente le metriche di valutazione seguenti per i cluster:

    Nome colonna Descrizione
    Metrica del cluster Valore che indica la qualità media del cluster per l'esecuzione. Le esecuzioni vengono ordinate in base al punteggio migliore.
    Numero di centroidi Numero di cluster creati in questa iterazione specifica dello sweep
    Indice dell'esecuzione Identificatore per ogni iterazione

    Suggerimento

    I valori restituiti per la metrica del cluster devono essere interpretati in modo diverso, a seconda della metrica scelta durante la configurazione dell'sweep. Per la metrica predefinita , Simplified misura, è migliore un punteggio più alto. Per Davies-Bouldin, è migliore un punteggio più basso.

Esempio

Per esempi di sweep di parametri con clustering K-means, vedere il Azure AI Gallery:

Note tecniche

Questa sezione contiene suggerimenti e dettagli sull'implementazione.

Ottimizzazione dei modelli di clustering

La qualità e l'accuratezza dei modelli di clustering possono essere fortemente influenzate dalla scelta dei parametri iniziali, ad esempio il numero di centroidi e il valore di inizializzazione usato per inizializzare il cluster. Per ridurre questa sensibilità ai parametri iniziali, il modulo Sweep Clustering consente di trovare la migliore combinazione di parametri. Si specifica un intervallo di parametri da testare e il modulo compila e testa automaticamente più modelli e infine seleziona il numero ottimale di cluster.

Per creare uno sweep di parametri, è necessario configurare anche il modulo K-Means Clustering per l'uso di uno sweep di parametri. È possibile specificare che lo sweep deve eseguire l'iterazione su tutte le possibili combinazioni di parametri oppure utilizzare una combinazione casuale di parametri. È anche possibile scegliere una delle diverse metriche standard per misurare l'accuratezza dei centroidi durante il processo di compilazione e test del modello iterativo. Al termine del numero specificato di iterazioni, il modulo seleziona il numero migliore di cluster, in base alla metrica selezionata, e restituisce report che è possibile usare per valutare i risultati.

Suggerimenti per l'uso

  • In alcuni casi, è possibile che si sappia già quanti cluster si prevede di trovare. Ad esempio, i dati potrebbero avere etichette di classe che possono essere usate per guidare la selezione dei centroidi. In tal caso, è possibile configurare il modulo K-Means Clustering per usare la colonna etichetta per guidare la selezione dei centroidi iniziali.

  • Se si conoscono alcuni dei cluster previsti ma non si è certi del numero di cluster ottimali, impostare il numero di centroidi su un numero maggiore del numero di valori di etichetta noti. Il modulo Sweep Clustering crea cluster per i punti dati noti e quindi determina il numero ottimale di cluster aggiuntivi per i punti dati rimanenti.

Gestione dei valori mancanti nella colonna etichetta

Esistono diversi modi per gestire i valori mancanti nella colonna etichetta. Si supponga, ad esempio, di avere un'attività di classificazione delle immagini e che solo alcune immagini siano state etichettate.

È possibile usare la colonna etichetta per guidare la selezione dei centroidi, ma specificare che le eventuali etichette mancanti devono essere compilate usando le assegnazioni del cluster. In altre parole, i valori delle etichette esistenti non vengono modificati, ma le etichette mancanti vengono compilate.

In alternativa, per tutti i punti dati assegnati a un cluster, è possibile sovrascrivere anche le etichette esistenti, usando una singola etichetta che rappresenta meglio il cluster. Per comprendere come questa opzione sia utile, si supponga di usare dati di immagine con etichette molto dettagliate, ad esempio cani diversi. Usando questa opzione, è possibile sostituire tutte le etichette dettagliate con una singola etichetta di categoria, "cane".

Valori di seed nel log

Il file di log generato dal modulo Train Clustering Model (Training modello di clustering) viene visualizzato per indicare che lo stesso valore di seme viene usato per tutte le iterazioni dell'algoritmo di clustering K-means, indipendentemente dal valore di seeding fornito nella proprietà Random Seed .

In realtà, l'implementazione usa il valore di seme fornito dall'utente per generare una sequenza di numeri casuali diversi per ogni esecuzione. Di conseguenza, è necessario un solo valore di seed per creare tutti i numeri generati in modo casuale.

Lo scopo del log è indicare quale valore di seed viene utilizzato dal modulo quando l'utente non specifica un valore di seed nel riquadro Proprietà.

Input previsti

Nome Tipo Descrizione
Untrained model ICluster interface Modello di clustering senza training
Set di dati Tabella dati Origine dati di input

Parametri del modulo

Nome Tipo Valori Facoltativo Predefinito Descrizione
Metrica per la misurazione del risultato del clustering Metrica del cluster Simplified Bog, Davies-Bouldin, Dunn, Average Deviation Necessario Simplified Innova Seleziona la metrica usata per la valutazione dei modelli di regressione
Specifica la modalità di sweep dei parametri Metodi sweep Intera griglia o sweep casuale Necessario Sweep casuale Esegue lo sweep dell'intera griglia nello spazio dei parametri oppure esegue lo sweep usando un numero limitato di esecuzioni di esempio
Column Set ColumnSelection Necessario Criterio di selezione delle colonne
Maximum number of runs on random sweep Integer [1;10000] Disponibile solo quando SweepingMode è impostato su Sweep casuale 5 Impostare il numero massimo di esecuzioni da eseguire quando si usa lo sweep casuale
Random seed Integer Disponibile solo quando SweepingMode è impostato su Sweep casuale 0 Specificare un valore per eseguire il seed del generatore di numeri casuali per lo sweep casuale
Check for Append or Uncheck for Result Only Boolean Necessario True Selezionare questa opzione per indicare che il set di dati di output deve contenere il set di dati di input con la colonna assignments aggiunta. Deselezionare per indicare che deve essere restituita solo la colonna delle assegnazioni.

Output

Nome Tipo Descrizione
Modello con training ottimale ICluster interface Modello di clustering con training
Set di dati di risultati Tabella dati Set di dati di input aggiunto dalla colonna di dati delle assegnazioni oppure solo la colonna delle assegnazioni
Risultati dello sweep Tabella dati Log delle metriche risultante per le esecuzioni di sweep del cluster

Eccezioni

Eccezione Descrizione
Errore 0003 L'eccezione si verifica se uno o più input sono null o vuoti.

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

Clustering K-Means
Assign Data to Clusters (Assegna dati ai cluster)
Machine Learning/Train
Machine Learning/Initialize Model/Clustering