Passaggio 4 della procedura dettagliata: Eseguire il training e valutare i modelli analitici predittivi

Questo argomento contiene il quarto passaggio della procedura dettagliata Sviluppare una soluzione di analisi predittiva in Azure Machine Learning

  1. Creare un'area di lavoro di Machine Learning
  2. Caricare i dati esistenti
  3. Creare un nuovo esperimento
  4. Eseguire il training e valutare i modelli
  5. Distribuire il servizio Web
  6. Accedere al servizio Web

Uno dei vantaggi che offre Azure Machine Learning Studio per la creazione di modelli di Machine Learning è la possibilità di valutare più tipi di modelli contemporaneamente in un singolo esperimento e confrontare i risultati. Questo tipo di esperimento consente di trovare la soluzione migliore per il problema che si desidera risolvere.

Nell'esperimento sviluppato in questa procedura guidata verranno creati due tipi diversi di modello, quindi ne verranno confrontati i punteggi risultanti per decidere quale algoritmo usare nell'esperimento finale.

Sono disponibili diversi modelli tra cui scegliere. Per visualizzare i modelli disponibili, espandere il nodo Machine Learning nella tavolozza dei moduli, espandere Initialize Model (Inizializza modello) e quindi i nodi al suo interno. Ai fini di questo esperimento, verranno selezionati i moduli Two-Class Support Vector Machine (SVM) (Macchina a vettori di supporto a due classi) e Two-Class Boosted Decision Tree (Albero delle decisioni con boosting a due classi).

Suggerimento

Per ottenere informazioni circa quale algoritmo di Machine Learning sia più adatto per un problema specifico che si sta tentando di risolvere, vedere Come scegliere gli algoritmi di Microsoft Azure Machine Learning.

Eseguire il training dei modelli

In questo esperimento, saranno aggiunti il modulo Two-Class Boosted Decision Tree (Albero delle decisioni con boosting a due classi) e il modulo Two-Class Support Vector Machine (Macchina a vettori di supporto a due classi).

Two-Class Boosted Decision Tree

Prima di tutto verrà configurato il modello di albero delle decisioni con boosting.

  1. Trovare il modulo Two-Class Boosted Decision Tree (Albero delle decisioni con boosting a due classi) nella tavolozza dei moduli e trascinarlo nell'area di disegno.

  2. Trovare il modulo Train Model (Training modello), trascinarlo nell'area di disegno, quindi connettere l'output del modulo Two-Class Boosted Decision Tree (Albero delle decisioni con boosting a due classi) alla porta di input sinistra del modulo Train Model (Training modello).

    Il modulo Two-Class Boosted Decision Tree (Albero delle decisioni con boosting a due classi) inizializza il modello generico e Train Model (Training modello) usa i dati di training per il training del modello.

  3. Connettere l'output del modulo Execute R Script (Esegui script R) a sinistra alla porta di input destra del modulo Train Model (Training modello). Nel Passo 3 di questa procedura dettagliata è stato deciso di utilizzare i dati riportati a sinistra del modulo Split Data (Divisione dati) per il training.

    Suggerimento

    Due degli input e uno degli output del modulo Execute R Script (Esegui script R) non sono necessari per questo esperimento, pertanto potranno rimanere scollegati.

Questa parte dell'esperimento avrà ora un aspetto analogo al seguente:

Training a model

A questo punto è necessario indicare il modulo [Train Model] train-model per cui il modello deve stimare il valore di rischio di credito.

  1. Selezionare il modulo Train Model (Training modello). Nel riquadro Proprietà, fare clic su Launch column selector (Avvia selettore colonne).

  2. Nella finestra di dialogo Select a single column (Selezionare una singola colonna), digitare "rischio di credito" nel campo di ricerca in Colonne disponibili, selezionare "Rischio di credito" di seguito e fare clic sul pulsante freccia destra (>) per spostare "Rischio di credito" su Colonne selezionate.

    Selezionare la colonna Rischio di credito per il modulo "Train Model" (Training modello)

  3. Fare clic sul segno di spunta accanto a OK.

Two-Class Support Vector Machine

È quindi possibile configurare il modello di macchina a vettori di supporto (SVM).

Innanzitutto, una breve spiegazione di SVM. Gli alberi delle decisioni con boosting funzionano bene con qualsiasi tipo di funzionalità. Poiché tuttavia il modulo di macchina a vettori di supporto genera un classificatore lineare, il modello che genera ha l'errore di test migliore quando gli elementi numerici hanno la stessa scala. Per convertire tutte le funzioni numeriche nella stessa scala, viene usata una trasformazione "Tanh", con il modulo Normalize Data (Normalizza dati). In questo modo, vengono trasformati i numeri nell'intervallo [0,1]. I modulo SVM converte gli elementi stringa in elementi di categoria e quindi in elementi 0/1 binari, pertanto non è necessario trasformare manualmente gli elementi stringa. Non si deve inoltre trasformare la colonna Credit Risk (colonna 21): si tratta di un valore numerico, ma è anche il valore per il quale il modulo deve eseguire la previsione dopo il training e non dovrà pertanto essere alterato.

Per configurare il modello SVM, procedere come segue:

  1. Trovare il modulo Two-Class Support Vector Machine (Macchina a vettori di supporto a due classi) nella tavolozza dei moduli e trascinarlo nell'area di disegno.

  2. Fare clic con il pulsante destro del mouse sul modulo Train Model (Training modello), scegliere Copia, quindi fare clic con il pulsante destro del mouse sull'area di disegno e scegliere Incolla. La copia del modulo Train Model (Training modello) presenta la stessa selezione di colonne dell'originale.

  3. Connettere l'output del modulo Two-Class Support Vector Machine (Macchina a vettori di supporto a due classi) alla porta di input sinistra del secondo modulo Train Model (Training modello).

  4. Trovare il modulo Normalize Data (Normalizza dati) e trascinarlo nell'area di disegno.

  5. Connettere l'output sinistro del modulo Execute R Script (Esegui script R) sinistro all'input di questo modulo (si noti che la porta di output di un modulo potrebbe essere connessa a più di un modulo).

  6. Connettere la porta di output sinistra del modulo Normalize Data (Normalizza dati) alla porta di input destra del secondo modulo Train Model (Training modello).

Questa parte dell'esperimento avrà ora un aspetto analogo al seguente:

Training the second model

Ora configurare il modulo Normalize Data (Normalizza dati):

  1. Fare clic per selezionare il modulo Normalize Data (Normalizza dati). Nel riquadro Proprietà relativo al modulo di trasformazione scegliere Tanh per il parametro Transformation method (Metodo di trasformazione).

  2. Fare clic su Launch column selector (Avvia selettore di colonna), selezionare "No columns" (Nessuna colonna) per Begin With (Inizia con), selezionare Include (Includi) nel primo elenco a discesa, selezionare column type (tipo di colonna) nel secondo elenco a discesa e infine selezionare Numeric (Numerico) nel terzo elenco a discesa. Questo specifica che verranno trasformate tutte le colonne numeriche, ma solo quelle di questo tipo.

  3. Fare clic sul segno più (+) a destra di questa riga per creare una nuova riga di elenchi a discesa. Selezionare Escludi nel primo elenco a discesa, selezionare column names (nomi colonna) nel secondo elenco a discesa e immettere "Rischio di credito" nel campo di testo. Questa impostazione specifica che la colonna Rischi di credito deve essere ignorata (è necessario farlo perché la colonna è numerica e pertanto, se non esclusa, verrebbe trasformata).

  4. Fare clic sul segno di spunta accanto a OK.

    Selezionare le colonne per il modulo Normalize Data (Normalizza dati)

Il modulo Normalize Data (Normalizza dati) è ora impostato per eseguire una trasformazione tanh su tutte le colonne numeriche, a eccezione della colonna Rischi di credito.

Classificare e valutare i modelli

Verranno usati i dati di test separati dal modulo Split Data (Divisione dati) per assegnare il punteggio ai moduli oggetto del training. Sarà quindi possibile confrontare i risultati dei due modelli per stabilire quale ha generato i risultati migliori.

Aggiungere i moduli Score Model (Punteggio modello)

  1. Trovare il modulo Score Model (Punteggio modello) e trascinarlo nell'area di disegno.

  2. Connettere il modulo Train Model (Training modello) connesso al modulo Two-Class Boosted Decision Tree (Albero delle decisioni con boosting a due classi) alla porta di input sinistra del modulo Score Model (Punteggio modello).

  3. Connettere il modulo Execute R Script (Esegui script R) alla porta di input destra del modulo Score Model (Punteggio modello).

    Modulo Score Model (Punteggio modello) connesso

    Il modulo Score Model (Punteggio modello) può ora prelevare le informazioni sul credito dai dati di test, eseguirle tramite il modello e confrontare le previsioni generate dal modello con la colonna relativa al rischio di credito dei dati di test.

  4. Copiare e incollare il modulo Score Model (Punteggio modello) per creare una seconda copia.

  5. Connettere l'output del modello SVM (vale a dire la porta di output del modulo Train Model (Training modello) connessa al modulo Two-Class Support Vector Machine (Macchina a vettori di supporto a due classi) alla porta di input del secondo modulo Score Model (Punteggio modello).

  6. Per il modello SVM, è necessario eseguire la stessa trasformazione sui dati di test eseguita in precedenza sui dati di training. Pertanto, copiare e incollare il modulo Normalize Data (Normalizza dati) per creare una seconda copia e connetterla al modulo Execute R Script (Esegui script R).

  7. Connettere l'output sinistra del secondo modulo Normalize Data (Normalizza dati) alla porta di input destra del secondo modulo Score Model (Punteggio modello).

    Entrambi i moduli Score Model (Punteggio modello) connessi

Aggiungere il modulo Evaluate Model (Modello di valutazione)

Per valutare i due risultati di punteggio e confrontarli, viene usato il modulo Evaluate Model (Modello di valutazione).

  1. Trovare il modulo Evaluate Model (Modello di valutazione) e trascinarlo nell'area di disegno.

  2. Connettere la porta di output del modulo Score Model (Punteggio modello) associata al modello di albero delle decisioni con boosting alla porta di input sinistra del modulo Evaluate Model (Modello di valutazione).

  3. Connettere l'altro modulo Score Model (Punteggio modello) alla porta di input destra.

    Modulo Evaluate Model (Modello di valutazione) connesso

Eseguire l'esperimento e controllare i risultati

Per eseguire l'esperimento, fare clic sul pulsante RUN (ESEGUI) sotto l'area di disegno. L'operazione potrebbe richiedere alcuni minuti. Su ogni modulo verrà visualizzato un indicatore rotante per indicare che il modulo è in esecuzione, quindi apparirà un segno di spunta verde al termine dell'esecuzione. Quando tutti i moduli presentano il segno di spunta, l'esecuzione dell'esperimento sarà completa.

L'esperimento avrà ora un aspetto analogo al seguente:

Valutazione di entrambi i modelli

Per verificare i risultati, fare clic sulla porta di output del modulo Evaluate Model (Modello di valutazione) e selezionare Visualize (Visualizza).

Il modulo Evaluate Model (Modello di valutazione) produce un paio di curve e metriche che consentono di confrontare i risultati dei due modelli classificati. È possibile visualizzare i risultati come curve ROC (Receiver Operator Characteristic), curve precisione/recupero o curve di accuratezza. Altri dati visualizzati includono una matrice di confusione, valori cumulativi per l'area nella curva (AUC) e altra metrica. È possibile modificare il valore soglia spostando il dispositivo di scorrimento a sinistra o a destra e vedere come ciò influisce sul set della metrica.

A destra del grafico fare clic su Scored dataset (Set di dati con punteggio) o Scored dataset to compare (Set di dati con punteggio da confrontare) per evidenziare la curva associata e visualizzare le metriche associate più sotto. Nella legenda per le curve, "Scored dataset" (Set di dati con punteggio) corrisponde alla porta di input sinistra del modulo Evaluate Model (Modello di valutazione). In questo caso si tratta del modello di albero delle decisioni con boosting. "Scored dataset to compare" corrisponde alla porta di input destra, in questo caso il modello di macchina a vettori di supporto. Quando si fa clic su una di queste etichette, viene evidenziata la curva per il modello e viene visualizzata la metrica corrispondente, come mostrato dalla grafica seguente.

ROC curves for models

Esaminando questi valori, è possibile decidere quale sia il modello che più si avvicina ai risultati previsti. È possibile tornare indietro ed eseguire l'iterazione dell'esperimento modificando i valori di parametro dei vari modelli.

La scienza e l'arte di interpretare questi risultati e di ottimizzare le prestazioni del modello non rientrano nell'ambito di questa procedura dettagliata. Per ulteriori informazioni, è possibile leggere gli articoli seguenti:

Suggerimento

Ogni volta che si esegue l'esperimento, viene conservato un record dell'iterazione nella cronologia di esecuzione. È possibile visualizzare le iterazioni e tornare a una qualsiasi di esse facendo clic su VISUALIZZA CRONOLOGIA ESECUZIONI sotto l'area di disegno. È anche possibile fare clic su Prior Run (Esecuzione precedente) nel riquadro Properties (Proprietà) per tornare all'iterazione immediatamente precedente a quella aperta.

È possibile eseguire una copia di qualsiasi interazione dell'esperimento facendo clic su SALVA CON NOME sotto l'area di disegno. Usare le proprietà Summary (Riepilogo) e Description (Descrizione) dell'esperimento per tenere traccia dei tentativi eseguiti nelle iterazioni dell'esperimento.

Per altre informazioni, vedere Gestire iterazioni dell'esperimento in Azure Machine Learning Studio.


Passaggio successivo: Distribuire il servizio Web