Cross Validate Model (Convalida incrociata modello)

Questo articolo descrive come usare il componente Cross Validate Model nella finestra di progettazione di Azure Machine Learning. La convalida incrociata è una tecnica spesso usata in Machine Learning per valutare sia la variabilità di un set di dati che l'affidabilità di qualsiasi modello sottoposto a training tramite tali dati.

Il componente Cross Validate Model accetta come input un set di dati etichettato, insieme a un modello di classificazione o regressione non sottoposto a training. Divide il set di dati in un certo numero di subset (riduzioni), compila un modello su ogni piega e quindi restituisce un set di statistiche di accuratezza per ogni piega. Confrontando le statistiche di accuratezza per tutte le riduzioni, è possibile interpretare la qualità del set di dati. È quindi possibile comprendere se il modello è soggetto a variazioni nei dati.

Il modello di convalida incrociata restituisce anche i risultati stimati e le probabilità per il set di dati, in modo da poter valutare l'affidabilità delle stime.

Funzionamento della convalida incrociata

  1. La convalida incrociata divide in modo casuale i dati di training in riduzioni.

    L'algoritmo usa per impostazione predefinita 10 riduzioni se il set di dati non è stato partizionato in precedenza. Per dividere il set di dati in un numero diverso di riduzioni, è possibile usare il componente Partition and Sample e indicare il numero di riduzioni da usare.

  2. Il componente riserva i dati in piega 1 da usare per la convalida. Questa operazione viene talvolta chiamata piegatura di controllo. Il componente usa le riduzioni rimanenti per eseguire il training di un modello.

    Ad esempio, se si creano cinque riduzioni, il componente genera cinque modelli durante la convalida incrociata. Il componente esegue il training di ogni modello usando quattro quinto dei dati. Testa ogni modello sul quinto rimanente.

  3. Durante il test del modello per ogni riduzione, il componente valuta più statistiche di accuratezza. Le statistiche usate dal componente dipendono dal tipo di modello che si sta valutando. Vengono usate statistiche diverse per valutare i modelli di classificazione rispetto ai modelli di regressione.

  4. Al termine del processo di compilazione e valutazione per tutte le riduzioni, il modello di convalida incrociata genera un set di metriche delle prestazioni e risultati con punteggio per tutti i dati. Esaminare queste metriche per verificare se una singola piega ha un'accuratezza elevata o bassa.

Vantaggi della convalida incrociata

Un modo diverso e comune per valutare un modello consiste nel dividere i dati in un set di training e di test usando Split Data e quindi convalidare il modello sui dati di training. Tuttavia, la convalida incrociata offre alcuni vantaggi:

  • La convalida incrociata usa più dati di test.

    La convalida incrociata misura le prestazioni del modello con i parametri specificati in uno spazio dati più grande. Ovvero, la convalida incrociata usa l'intero set di dati di training sia per il training che per la valutazione, anziché per una parte. Al contrario, se si convalida un modello usando i dati generati da una divisione casuale, in genere si valuta il modello solo il 30% o meno dei dati disponibili.

    Tuttavia, poiché la convalida incrociata esegue il training e convalida il modello più volte in un set di dati di dimensioni maggiori, è molto più intensivo a livello di calcolo. La convalida di una divisione casuale richiede molto più tempo.

  • La convalida incrociata valuta sia il set di dati che il modello.

    La convalida incrociata non misura semplicemente l'accuratezza di un modello. Offre anche un'idea del modo in cui rappresentativo è il set di dati e il modo in cui il modello potrebbe essere sensibile alle variazioni nei dati.

Come usare il modello di convalida incrociata

La convalida incrociata può richiedere molto tempo se il set di dati è di grandi dimensioni. È quindi possibile usare il modello di convalida incrociata nella fase iniziale di compilazione e test del modello. In questa fase è possibile valutare la bontà dei parametri del modello ,presupponendo che il tempo di calcolo sia tollerabile. È quindi possibile eseguire il training e valutare il modello usando i parametri stabiliti con i componenti Train Model e Evaluate Model .

In questo scenario è possibile eseguire il training e il test del modello usando il modello di convalida incrociata.

  1. Aggiungere il componente Cross Validate Model alla pipeline. È possibile trovarla nella finestra di progettazione di Azure Machine Learning, nella categoria Punteggio e valutazione del modello.

  2. Connessione l'output di qualsiasi modello di classificazione o regressione.

    Ad esempio, se si usa Two Class Boosted Decision Tree per la classificazione, configurare il modello con i parametri desiderati. Trascinare quindi un connettore dalla porta del modello senza training del classificatore alla porta corrispondente del modello cross validate.

    Suggerimento

    Non è necessario eseguire il training del modello, perché il modello di convalida incrociata esegue automaticamente il training del modello come parte della valutazione.

  3. Nella porta set di dati del modello di convalida incrociata connettere qualsiasi set di dati di training etichettato.

  4. Nel pannello destro di Cross Validate Model fare clic su Modifica colonna. Selezionare la singola colonna contenente l'etichetta della classe o il valore stimabile.

  5. Impostare un valore per il parametro di inizializzazione casuale se si desidera ripetere i risultati della convalida incrociata nelle esecuzioni successive sugli stessi dati.

  6. Inviare la pipeline.

  7. Per una descrizione dei report, vedere la sezione Risultati .

Risultati

Al termine di tutte le iterazioni, il modello di convalida incrociata crea punteggi per l'intero set di dati. Crea anche metriche delle prestazioni che è possibile usare per valutare la qualità del modello.

Risultati con punteggio

Il primo output del componente fornisce i dati di origine per ogni riga, insieme ad alcuni valori stimati e probabilità correlate.

Per visualizzare i risultati, nella pipeline fare clic con il pulsante destro del mouse sul componente Cross Validate Model .To view the results, in the pipeline, right-click the Cross Validate Model component. Selezionare Visualizza risultati con punteggio.

Nome nuova colonna Descrizione
Etichette punteggi Questa colonna viene aggiunta alla fine del set di dati. Contiene il valore stimato per ogni riga.
Probabilità con punteggio Questa colonna viene aggiunta alla fine del set di dati. Indica la probabilità stimata del valore in Etichette con punteggio.
Numero di riduzione Indica l'indice in base zero della piega a cui è stata assegnata ogni riga di dati durante la convalida incrociata.

Valutazione dei risultati

Il secondo report è raggruppato in base alle riduzioni. Tenere presente che durante l'esecuzione, cross validate model suddivide in modo casuale i dati di training in n riduzioni (per impostazione predefinita, 10). In ogni iterazione sul set di dati, il modello di convalida incrociata usa una riduzione come set di dati di convalida. Usa le riduzioni n-1 rimanenti per eseguire il training di un modello. Ognuno dei n modelli viene testato sui dati in tutte le altre riduzioni.

In questo report le riduzioni vengono elencate in base al valore dell'indice, in ordine crescente. Per ordinare in qualsiasi altra colonna, è possibile salvare i risultati come set di dati.

Per visualizzare i risultati, nella pipeline fare clic con il pulsante destro del mouse sul componente Cross Validate Model .To view the results, in the pipeline, right-click the Cross Validate Model component. Selezionare Visualizza risultati valutazione per piega.

Nome colonna Descrizione
Numero di piegatura Identificatore per ogni piegatura. Se sono state create cinque riduzioni, ci sarebbero cinque subset di dati, numerati da 0 a 4.
Numero di esempi in riduzione Numero di righe assegnate a ogni riduzione. Dovrebbero essere approssimativamente uguali.

Il componente include anche le metriche seguenti per ogni piega, a seconda del tipo di modello che si sta valutando:

  • Modelli di classificazione: precisione, richiamo, punteggio F, AUC, accuratezza

  • Modelli di regressione: errore assoluto medio, errore quadratico medio medio, errore assoluto relativo, errore quadratico relativo e coefficiente di determinazione

Note tecniche

  • È consigliabile normalizzare i set di dati prima di usarli per la convalida incrociata.

  • Il modello di convalida incrociata è molto più intensivo dal livello di calcolo e richiede più tempo rispetto a se il modello è stato convalidato usando un set di dati diviso in modo casuale. Il motivo è che il modello di convalida incrociata esegue il training e convalida il modello più volte.

  • Non è necessario suddividere il set di dati in set di training e test quando si usa la convalida incrociata per misurare l'accuratezza del modello.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.