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

Progettazione supporta due tipi di componenti, componenti predefiniti classici (v1) e componenti personalizzati (v2). Questi due tipi di componenti non sono compatibili.

I componenti predefiniti classici forniscono componenti predefiniti principalmente per l'elaborazione dei dati e le attività tradizionali di Machine Learning, come la regressione e la 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. Supporta la condivisione di componenti tra aree di lavoro e la creazione senza problemi tra interfacce studio, interfaccia della riga di comando v2 e SDK v2.

Per i nuovi progetti, è consigliabile usare un componente personalizzato compatibile con AzureML V2 e continuare 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 si distribuisce il modello come endpoint di inferenza in tempo reale per stimare 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 Sample 1 - Regression: Automobile Price Prediction(Basic).

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 istruzioni 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

Progettazione supporta due tipi di componenti, componenti predefiniti classici e componenti personalizzati. Questi due tipi di componenti non sono compatibili.

I componenti predefiniti classici forniscono componenti predefiniti principalmente per l'elaborazione dei dati e le attività tradizionali di Machine Learning, come la regressione e la classificazione. Questo tipo di componente continua a essere supportato, ma non avrà nuove aggiunte future.

I componenti personalizzati consentono 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 Progettazione ->Classico predefinito

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

  3. Selezionare Crea una nuova pipeline usando 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 automobile. 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 dell'area di disegno della pipeline è presente una tavolozza 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 Automobile price data (Raw) e selezionare Preview Data (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 dell'area di disegno fare clic su Componente e cercare il componente Seleziona colonne nel set di dati .

  2. Trascinare il componente Seleziona colonne nel set di dati nell'area di disegno. Eliminare il componente sotto il componente del set di dati.

  3. ConnessioneSet di dati automobile price data (Raw) per il componente Select Columns in Dataset .Automobile price data (Raw) to the Select Columns in Dataset component. Trascinare dalla porta di output del set di dati, ovvero il piccolo cerchio nella parte inferiore del set di dati nell'area di disegno, alla porta di input di Select Columns in Dataset, ovvero il piccolo cerchio nella parte superiore del componente.

    Suggerimento

    Si crea un flusso di dati attraverso la pipeline quando si connette la porta di output di un componente a una porta di input di un'altra.

    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 della freccia sotto Impostazioni a destra dell'area di disegno 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 dati mancanti rimanenti usando il componente Pulisci 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 Pulisci dati mancanti.

  2. Trascinare il componente Pulisci dati mancanti nell'area di disegno della pipeline. Connessione al Selezionare Colonne nel componente Set di dati.

  3. Selezionare il componente Pulisci dati mancanti.

  4. Fare clic sull'icona della freccia sotto Impostazioni a destra dell'area di disegno per aprire il riquadro dei dettagli del componente. In alternativa, è possibile fare doppio clic sul componente Pulisci 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 Pulisci dati mancanti, in Modalità pulizia selezionare Rimuovi l'intera riga.

  9. Nel riquadro Dettagli del componente Pulisci dati mancanti espandere Informazioni nodo.

  10. Selezionare la casella di testo Commento e immettere Rimuovi righe di valore 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

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 verranno suddivisi in due set di dati separati. Un set di dati esegue il training del modello e l'altro verificherà il livello di prestazioni del modello.

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

  2. Trascinare il componente Split Data nell'area di disegno della pipeline.

  3. Connessione la porta sinistra del Pulire il componente Dati mancanti nel componente Split Data .Clean Missing Data component to the Split Data component.

    Importante

    Assicurarsi che la porta di output sinistra di Clean Missing Data si connetta a Split Data(Divisione dati). La porta sinistra contiene i dati puliti. La porta destra contiene i dati rimossi.

  4. Selezionare il componente Split Data (Divisione dati ).

  5. Fare clic sull'icona della freccia sotto Impostazioni a destra dell'area di disegno per aprire il riquadro dei dettagli del componente. In alternativa, è possibile fare doppio clic sul componente Split Data (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 sono disponibili tramite la porta di output corretta.

  7. Nel riquadro Dettagli divisione dati espandere Informazioni nodo.

  8. Selezionare la casella di testo Comment (Commento ) e immettere Split the dataset into training set (0.7) and test set (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 nella tavolozza dei componenti a sinistra dell'area di disegno fare clic su Componente e cercare il componente Regressione lineare.

  2. Trascinare il componente Regressione lineare nell'area di disegno della pipeline.

  3. Nei set di dati e nella tavolozza dei componenti a sinistra dell'area di disegno fare clic su Componente e cercare il componente Train Model (Esegui training modello ).

  4. Trascinare il componente Train Model (Esegui training modello ) nell'area di disegno della pipeline.

  5. Connessione l'output dell'oggetto Componente Regressione lineare all'input sinistro del componente Train Model.

  6. Connessione l'output dei dati di training (porta sinistra) del Divisione del componente Dati all'input destro del componente Train Model .

    Importante

    Assicurarsi che la porta di output sinistra di Split Data si connetta al modello di training. 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 Train Model (Esegui training modello ).

  8. Fare clic sull'icona della freccia sotto Impostazioni a destra dell'area di disegno per aprire il riquadro dei dettagli del componente. In alternativa, è possibile fare doppio clic sul componente Train Model (Esegui training modello ) per aprire il riquadro dei dettagli.

  9. Selezionare Modifica colonna a destra del riquadro.

  10. Nella finestra Etichetta colonna visualizzata espandere il menu a discesa e selezionare Nomi colonna.

  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 Score Model

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 dell'area di disegno fare clic su Componente e cercare il componente Score Model (Punteggio modello ).

  2. Trascinare il componente Score Model (Punteggio modello) nell'area di disegno della pipeline.

  3. Connessione l'output dell'oggetto Eseguire il training del componente del modello sulla porta di input sinistra del modello score. Connessione l'output dei dati di test (porta destra) di Dividere il componente Dati sulla porta di input destra del modello di punteggio.

Aggiungere il componente Evaluate Model

Usare il componente Evaluate Model (Valuta modello) per valutare il punteggio del modello con il set di dati di test.

  1. Nel riquadro dei set di dati e dei componenti a sinistra dell'area di disegno fare clic su Componente e cercare il componente Evaluate Model (Valuta modello ).

  2. Trascinare il componente Evaluate Model nell'area di disegno della pipeline.

  3. Connessione l'output dell'oggetto Assegnare un punteggio al componente Modello a sinistra di Evaluate Model.

    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 assegnare il valore agli input/output alzati di livello alla 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 il calcolo predefinito per la pipeline. Si tratta dell'archivio dati/calcolo predefinito per tutti i componenti della pipeline. Tuttavia, se si imposta un archivio dati o di calcolo diverso per un componente in modo esplicito, il sistema rispetta l'impostazione a livello di componente. In caso contrario, usa l'impostazione predefinita.

Il passaggio Rivedi e invia è l'ultimo passaggio per esaminare tutte le impostazioni 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 Score Model (Punteggio modello) e selezionare Preview data Scored dataset (Anteprima dei 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 Evaluate Model (Valuta modello) e selezionare Preview data Evaluation results (Anteprima dei risultati della valutazione dei dati>) 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 quadrato R, questa metrica statistica indica il grado di adattamento dei dati di un modello.

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.