Esercitazione: Finestra di progettazione: eseguire il training di un modello di regressione senza codice

Eseguire il training di un modello di regressione lineare che stima i prezzi delle automobili usando la finestra di progettazione di Azure Machine Learning. Questa esercitazione è la prima di una serie in due parti.

Questa esercitazione usa la finestra di progettazione di Azure Machine Learning. Per altre informazioni, vedere Che cos'è la finestra di progettazione di Azure Machine Learning?

Nota

La finestra di progettazione supporta due tipi di componenti, ovvero i componenti predefiniti classici (v1) e i componenti personalizzati (v2). Questi due tipi di componenti NON sono compatibili.

I componenti predefiniti classici forniscono componenti predefiniti principalmente pensati per l'elaborazione dei dati e le attività tradizionali di apprendimento automatico, ad esempio regressione e classificazione. Questo tipo di componente continua a essere supportato, ma non avrà nuove aggiunte future.

I componenti personalizzati consentono di eseguire il wrapping del codice personalizzato come componente. Questa opzione supporta la condivisione di componenti tra aree di lavoro e la creazione semplice nelle interfacce di studio, interfaccia della riga di comando v2 e SDK v2.

Per i nuovi progetti, è consigliabile usare un componente personalizzato, che è compatibile con AzureML V2 e continuerà a ricevere nuovi aggiornamenti.

Questo articolo si applica ai componenti predefiniti classici e non compatibili con l'interfaccia della riga di comando v2 e l'SDK v2.

Nella prima parte dell'esercitazione si è apprenderà come:

  • Crea una nuova pipeline.
  • Importa dati.
  • Preparare i dati.
  • Eseguire il training di un modello di Machine Learning.
  • Valutare un modello di Machine Learning.

Nella seconda parte dell'esercitazione, il modello verrà distribuito come endpoint di inferenza in tempo reale per prevedere il prezzo di qualsiasi automobile in base alle specifiche tecniche inviate.

Nota

Una versione completa dell'esercitazione è disponibile come pipeline di esempio.

Per trovarla, passare alla finestra di progettazione nell'area di lavoro. Nella sezione Nuova pipeline selezionare Campione 1 - Regressione: Stima prezzi automobili (Base).

Importante

Se gli elementi grafici citati in questo documento non vengono visualizzati, ad esempio i pulsanti di Studio o della finestra di progettazione, è possibile che non si abbia il livello di autorizzazioni appropriato per l'area di lavoro. Contattare l'amministratore della sottoscrizione di Azure per verificare che sia stato concesso il livello di accesso corretto. Per altre informazioni, vedere Gestire utenti e ruoli.

Crea una nuova pipeline

Le pipeline di Azure Machine Learning organizzano più passaggi di Machine Learning ed elaborazione dati in un'unica risorsa. Le pipeline consentono di organizzare, gestire e riutilizzare flussi di lavoro di Machine Learning complessi in più progetti e utenti.

Per creare una pipeline di Azure Machine Learning, è necessaria un'area di lavoro di Azure Machine Learning. In questa sezione viene descritto come creare entrambe queste risorse.

Creazione di una nuova area di lavoro

Per usare la finestra di progettazione, è necessaria un'area di lavoro di Azure Machine Learning. L'area di lavoro è la risorsa di primo livello per Azure Machine Learning e fornisce una posizione centralizzata da cui gestire tutti gli artefatti creati in Azure Machine Learning. Per altre informazioni sulla creazione di un'area di lavoro, vedere Creare risorse dell'area di lavoro.

Nota

Se l'area di lavoro usa una rete virtuale, è necessario completare altri passaggi di configurazione per usare la finestra di progettazione. Per altre informazioni, vedere Usare Azure Machine Learning Studio in una rete virtuale di Azure

Creare la pipeline

Nota

La finestra di progettazione supporta due tipi di componenti, ovvero i componenti predefiniti classici e i componenti personalizzati. Questi due tipi di componenti non sono compatibili.

Componenti predefiniti classici: sono componenti predefiniti principalmente pensati per l'elaborazione dei dati e le attività tradizionali di apprendimento automatico, ad esempio regressione e classificazione. Questo tipo di componente continua a essere supportato, ma non avrà nuove aggiunte future.

Componenti personalizzati: consente di fornire codice personalizzato come componente. Supporta la condivisione tra aree di lavoro e la creazione semplice tra interfacce di Studio, interfaccia della riga di comando e SDK.

Questo articolo si applica ai componenti predefiniti classici.

  1. Accedere a ml.azure.com e selezionare l'area di lavoro che si vuole usare.

  2. Selezionare Finestra di progettazione ->Predefiniti classici

    Screenshot of the visual workspace showing how to access the designer.

  3. Selezionare Creare una nuova pipeline utilizzando i componenti predefiniti classici.

  4. Fare clic sull'icona a forma di matita accanto al nome della bozza di pipeline generata automaticamente, rinominarlo in Stima prezzi automobili. Il nome non deve essere univoco.

Screenshot of pencil icon to change pipeline draft name.

Importare i dati

Nella finestra di progettazione sono disponibili diversi set di dati di esempio con cui sperimentare. Per questa esercitazione, usare Automobile price data (Raw).

  1. A sinistra del canvas della pipeline è presente un pannello di set di dati e componenti. Selezionare Componente ->Dati di esempio.

  2. Selezionare il set di dati Automobile price data (Raw) e trascinarlo nel canvas.

    Gif of dragging the Automobile price data to the canvas.

Visualizzare i dati

È possibile visualizzare i dati per comprendere il set di dati che verrà usato.

  1. Fare clic con il pulsante destro del mouse su Dati prezzi automobili (non elaborati) e scegliere Anteprima dati.

  2. Selezionare le diverse colonne nella finestra dei dati per visualizzare le informazioni relative a ciascuna.

    Ogni riga rappresenta un'automobile e le variabili associate a ogni automobile sono rappresentate da colonne. In questo set di dati sono presenti 205 righe e 26 colonne.

Preparazione dei dati

I set di dati in genere richiedono una pre-elaborazione prima dell'analisi. Durante l'ispezione del set di dati si potrebbe aver notato che mancano alcuni valori. Per consentire al modello di analizzare correttamente i dati, è necessario eseguire la pulizia di questi valori mancanti.

Rimuovere una colonna

Quando si esegue il training di un modello, occorre fare qualcosa in merito ai dati mancanti. In questo set di dati, la colonna normalized-losses ha molti valori mancanti, pertanto verrà esclusa completamente dal modello.

  1. Nel riquadro dei set di dati e dei componenti a sinistra del canvas fare clic su Componente e cercare il componente Seleziona colonne nel set di dati.

  2. Trascinare il componente Seleziona colonne nel set di dati nel canvas. Rimuovere il componente sotto il componente del set di dati.

  3. Connettere il set di dati Dati prezzi automobili (non elaborati) al componente Seleziona colonne nel set di dati. Trascinare il mouse dalla porta di output del set di dati, ovvero il piccolo cerchio nella parte inferiore del set di dati nel canvas, fino alla porta di input di Seleziona colonne nel set di dati, ovvero il piccolo cerchio nella parte superiore del modulo.

    Suggerimento

    Viene creato un flusso di dati attraverso la pipeline quando si connette la porta di output di un componente alla porta di input di un altro.

    Screenshot of connecting Automobile price data component to select columns in dataset component.

  4. Selezionare il componente Seleziona colonne nel set di dati.

  5. Fare clic sull'icona a forma di freccia in Impostazioni a destra del canvas per aprire il riquadro dei dettagli del componente. In alternativa, è possibile fare doppio clic sul componente Seleziona colonne nel set di dati per aprire il riquadro dei dettagli.

  6. Selezionare Modifica colonna a destra del riquadro.

  7. Espandere l'elenco a discesa Nomi colonne accanto a Includi e selezionare Tutte le colonne.

  8. Selezionare il segno + per aggiungere una nuova regola.

  9. Nel menu a discesa selezionare Escludi e Nomi colonne.

  10. Immettere normalized-losses nella casella di testo.

  11. Nell'angolo in basso a destra selezionare Save (Salva) per chiudere il selettore di colonne.

    Screenshot of select columns with exclude highlighted.

  12. Nel riquadro dei dettagli del componente Seleziona colonne nel set di dati espandere Informazioni sul nodo.

  13. Selezionare la casella di testo Commento e immettere Escludi perdite normalizzate.

    I commenti verranno visualizzati nel grafo per facilitare l'organizzazione della pipeline.

Pulire i dati mancanti

Dopo la rimozione della colonna normalized-losses, il set di dati contiene ancora colonne con valori mancanti. È possibile rimuovere i rimanenti dati mancanti usando il componente Pulizia dati mancanti.

Suggerimento

La pulizia dei valori mancanti dai dati di input è un prerequisito per l'uso della maggior parte dei componenti nella finestra di progettazione.

  1. Nei set di dati e nella tavolozza dei componenti a sinistra dell'area di disegno fare clic su Componente e cercare il componente Pulizia dati mancanti.

  2. Trascinare il componente Pulizia dati mancanti nel canvas della pipeline. Connetterlo al componente Seleziona colonne nel set di dati.

  3. Selezionare il componente Pulizia dei dati mancanti.

  4. Fare clic sull'icona a forma di freccia in Impostazioni a destra del canvas per aprire il riquadro dei dettagli del componente. In alternativa, è possibile fare doppio clic sul componente Pulizia dati mancanti per aprire il riquadro dei dettagli.

  5. Selezionare Modifica colonna a destra del riquadro.

  6. Nella finestra Columns to be cleaned (Colonne da pulire) visualizzata espandere il menu a discesa accanto a Include (Includi). Selezionare All columns (Tutte le colonne)

  7. Seleziona Salva

  8. Nel riquadro dei dettagli del componente Pulizia dati mancanti, in Modalità pulizia, selezionare Rimuovi l'intera riga.

  9. Nel riquadro dettagli del componente Pulizia dati mancanti espandere Informazioni nodo.

  10. Selezionare la casella di testo Commento e immettere Rimuovi righe valori mancanti.

    La pipeline avrà ora un aspetto analogo al seguente:

    Screenshot of automobile price data connected to select columns in dataset component, which is connected to clean missing data.

Eseguire il training di un modello di Machine Learning

A questo punto, dopo aver creato i componenti per elaborare i dati, è possibile configurare i componenti di training.

Poiché si vuole stimare il prezzo, ovvero un numero, è possibile usare un algoritmo di regressione. Per questo esempio si userà un modello di regressione lineare.

Suddividere i dati

La divisione dei dati è un'attività comune in Machine Learning. I dati dovranno essere divisi in due set di dati separati. Un set di dati eseguirà il training del modello e l'altro ne verificherà le prestazioni.

  1. Nei set di dati e nella tavolozza dei componenti a sinistra del canvas fare clic su Componente e cercare il componente Divisione dati.

  2. Trascinare il componente Divisione dati nel canvas della pipeline.

  3. Connettere la porta sinistra del componente Pulizia dati mancanti al componente Divisione dati.

    Importante

    Assicurarsi che la porte di output sinistra di Pulisci dati mancanti si connetta a Divisione dati. La porta sinistra contiene i dati puliti. La porta destra contiene i dati rimossi.

  4. Selezionare il componente Divisione dati.

  5. Fare clic sull'icona a forma di freccia in Impostazioni a destra del canvas per aprire il riquadro dei dettagli del componente. In alternativa, è possibile fare doppio clic sul componente Divisione dati per aprire il riquadro dei dettagli.

  6. Nel riquadro dettagli Divisione dati impostare Frazione di righe nel primo set di dati di output su 0,7.

    Con questa opzione, per il training del modello verrà usato il 70% dei dati, mentre il restante 30% verrà usato per i test. Il set di dati del 70% sarà accessibile tramite la porta di output sinistra. I dati rimanenti saranno disponibili tramite la porta di output destra.

  7. Nel riquadro dettagli Divisione dati espandere Informazioni nodo.

  8. Selezionare la casella di testo Commento e immettere Divisione del set di dati in set di training (0,7) e set di test (0,3).

Eseguire il training del modello

Eseguire il training del modello assegnando un set di dati che include il prezzo. L'algoritmo crea un modello che spiega la relazione tra le caratteristiche e il prezzo come presentato dai dati di training.

  1. Nei set di dati e nel riquadro dei componenti a sinistra del canvas fare clic su Componente e cercare il componente Regressione lineare.

  2. Trascinare il componente Regressione lineare nel canvas della pipeline.

  3. Nei set di dati e nel riquadro dei componenti a sinistra del canvas fare clic su Componente e cercare il componente Esegui training modello.

  4. Trascinare il componente Esegui training modello nel canvas della pipeline.

  5. Connettere l'output del componente Regressione lineare all’input sinistro del componente Esegui training modello.

  6. Connettere l'output dei dati di training (porta sinistra) al componente Divisione dati all’input destro del componente Esegui training modello.

    Importante

    Assicurarsi che la porta di output sinistra di Divisione dati si connetta a Esegui training modello. La porta sinistra contiene il set di training. La porta destra contiene il set di test.

    Screenshot showing the Linear Regression connects to left port of Train Model and the Split Data connects to right port of Train Model.

  7. Selezionare il componente Esegui training modello.

  8. Fare clic sull'icona a forma di freccia in Impostazioni a destra del canvas per aprire il riquadro dei dettagli del componente. In alternativa, è possibile fare doppio clic sul componente Esegui training modello per aprire il riquadro dei dettagli.

  9. Selezionare Modifica colonna a destra del riquadro.

  10. Nella finestra Colonna etichetta visualizzata espandere il menu a discesa e selezionare Nomi colonne.

  11. Nella casella di testo immettere price per specificare il valore che verrà previsto dal modello.

    Importante

    Assicurarsi di immettere esattamente il nome della colonna. Usare l'iniziale maiuscola per price.

    La pipeline dovrebbe avere un aspetto simile al seguente:

    Screenshot showing the correct configuration of the pipeline after adding the Train Model component.

Aggiungere il componente Punteggio modello

Dopo aver eseguito il training del modello usando il 70% dei dati, è possibile usarlo per assegnare punteggi al restante 30% e verificarne il funzionamento.

  1. Nei set di dati e nella tavolozza dei componenti a sinistra del canvas fare clic su Componente e cercare il componente Punteggio modello.

  2. Trascinare il componente Punteggio modello nel canvas della pipeline.

  3. Connettere l'output del componente Esegui training modello alla porta di input sinistra di Punteggio modello. Connettere l'output dei dati di test (porta destra) del componente Divisione dati alla porta di input destra di Punteggio modello.

Aggiungere il componente Valutazione modello

Usare il componente Valutazione modello per valutare il punteggio assegnato al modello nel set di dati di test.

  1. Nel riquadro dei set di dati e dei componenti a sinistra del canvas fare clic su Componente e cercare il componente Valutazione modello.

  2. Trascinare il componente Valutazione modello nel canvas della pipeline.

  3. Connettere l'output del componente Punteggio modello all'input sinistro di Valutazione modello.

    La pipeline finale avrà un aspetto analogo al seguente:

    Screenshot showing the correct configuration of the pipeline.

Inviare la pipeline

  1. Selezionare Configura e invia nell'angolo superiore destro per inviare la pipeline.

    Screenshot showing configure and submit button.

  2. Verrà quindi visualizzata una procedura guidata dettagliata. Seguire la procedura guidata per inviare il processo della pipeline.

    Screenshot showing submission wizard.

Nel passaggio Informazioni di base è possibile configurare l'esperimento, il nome visualizzato del processo, la descrizione del processo e così via.

Nel passaggio Input e output è possibile configurare gli input/output promossi al livello pipeline. In questo esempio sarà vuoto perché non è stato promosso alcun input/output a livello di pipeline.

In Impostazioni di runtimeè possibile configurare l'archivio dati predefinito e l'ambiente di calcolo predefinito della pipeline. Si tratta dell'archivio dati/ambiente di calcolo predefinito per tutti i componenti della pipeline. Si noti tuttavia che se si imposta un archivio dati o un ambiente di calcolo diverso per un componente in modo esplicito, il sistema rispetta l'impostazione del livello di componente. In caso contrario, usa l'impostazione predefinita.

Il passaggio Rivedi e invia è l'ultimo passaggio per esaminare tutte le configurazioni prima dell'invio. Se si invia la pipeline, la procedura guidata ricorderà l'ultima configurazione.

Dopo aver inviato il processo della pipeline, nella parte superiore verrà visualizzato un messaggio con un collegamento al dettaglio del processo. È possibile selezionare questo collegamento per esaminare i dettagli del processo.

Screenshot showing submission message.

Visualizzare le etichette dei punteggi

Nella pagina dei dettagli del processo è possibile controllare lo stato, i risultati e i log del processo della pipeline.

Screenshot showing the pipeline job detail page.

Al termine del processo, è possibile visualizzare i risultati del processo della pipeline. Prima di tutto, esaminare le previsioni generate dal modello di regressione.

  1. Fare clic con il pulsante destro del mouse sul componente Punteggio modello e selezionare Anteprima dei dati>Set di dati con punteggio per visualizzarne l'output.

    Qui è possibile visualizzare i prezzi stimati e i prezzi effettivi dai dati di test.

    Screenshot of the output visualization highlighting the Scored Label column.

Valutare i modelli

Usare Evaluate Model (Valutazione modello) per verificare le prestazioni del modello sottoposto a training nel set di dati di test.

  1. Fare clic con il pulsante destro del mouse sul componente Valutazione modello e selezionare Anteprima dei dati>Risultati valutazione per visualizzarne l'output.

Per il modello vengono visualizzate le seguenti statistiche:

  • Errore assoluto medio (MAE): media degli errori assoluti. Un errore è la differenza tra il valore stimato e quello effettivo.
  • Root Mean Squared Error (RMSE, radice errore quadratico medio): radice quadrata della media degli errori quadratici delle stime effettuate sul set di dati di test.
  • Relative Absolute Error(errore assoluto relativo): media degli errori assoluti relativamente alla differenza assoluta tra i valori effettivi e la media di tutti i valori effettivi.
  • Relative Squared Error(errore quadratico relativo): media degli errori quadratici relativamente alla differenza quadratica tra i valori effettivi e la media di tutti i valori effettivi.
  • Coefficiente di determinazione: noto anche come valore quadratico R, è una metrica statistica che indica l'esattezza del modello rispetto ai dati.

Per ogni statistica di errore, sono preferibili i valori più piccoli. Un valore più piccolo indica che le stime sono più vicine ai valori effettivi. Per il coefficiente di determinazione, più il valore si avvicina a uno (1,0) più le stime sono precise.

Pulire le risorse

Saltare questa sezione se si vuole continuare con la parte 2 dell'esercitazione relativa alla distribuzione di modelli.

Importante

È possibile usare le risorse create come prerequisiti per altre esercitazioni e procedure dettagliate relative ad Azure Machine Learning.

Eliminare tutto

Se non si prevede di usare le risorse create, eliminare l'intero gruppo di risorse per evitare addebiti.

  1. Nel portale di Azure, selezionare Gruppi di risorse nella parte sinistra della finestra.

    Delete resource group in the Azure portal

  2. Nell'elenco selezionare il gruppo di risorse creato.

  3. Selezionare Elimina gruppo di risorse.

Se si elimina il gruppo di risorse, vengono eliminate anche tutte le risorse create nella finestra di progettazione.

Eliminare singole risorse

Nella finestra di progettazione in cui è stato creato l'esperimento eliminare le singole risorse selezionandole e quindi selezionando il pulsante Elimina.

La destinazione di calcolo creata qui viene ridimensionata automaticamente a zero nodi quando non viene usata, Questa azione viene intrapresa per ridurre al minimo gli addebiti. Se si vuole eliminare la destinazione di calcolo, eseguire le operazioni seguenti:

Delete assets

La registrazione dei set di dati nell'area di lavoro può essere annullata selezionando ogni set di dati e quindi Annulla registrazione.

Unregister dataset

Per eliminare un set di dati, passare all'account di archiviazione tramite il portale di Azure o Azure Storage Explorer ed eliminare manualmente tali asset.

Passaggi successivi

Nella seconda parte si apprenderà come distribuire il modello come endpoint in tempo reale.