Esercitazione: Eseguire il training di un modello di classificazione senza codice AutoML nel studio di Azure Machine Learning

Informazioni su come eseguire il training di un modello di classificazione senza codice AutoML usando Ml automatizzato di Azure Machine Learning nel studio di Azure Machine Learning. Questo modello di classificazione consente di stimare se un cliente sottoscriverà un deposito a termine fisso presso un istituto finanziario.

Con Machine Learning automatizzato, è possibile automatizzare le attività a elevato utilizzo di tempo. L'apprendimento automatico automatizzato esegue rapidamente l'iterazione su numerose combinazioni di algoritmi e iperparametri per aiutare a trovare il modello migliore in base a una metrica di riuscita di propria scelta.

Non si scriverà codice in questa esercitazione, si userà l'interfaccia di Studio per eseguire il training. Si apprenderà come eseguire le attività seguenti:

  • Creare un'area di lavoro di Azure Machine Learning.
  • Eseguire un esperimento di Machine Learning automatizzato.
  • Esplorare i dettagli del modello.
  • Distribuire il modello consigliato.

Provare anche Machine Learning automatizzato per questi altri tipi di modello:

Prerequisiti

  • Una sottoscrizione di Azure. Se non hai una sottoscrizione di Azure, crea un account gratuito.

  • Scaricare il file di dati bankmarketing_train.csv. La colonna y indica se un cliente ha effettuato la sottoscrizione di un deposito a termine fisso, che in seguito viene identificata come colonna di destinazione per le stime in questa esercitazione.

Creare un'area di lavoro

Un'area di lavoro di Machine Learning è una risorsa cloud fondamentale usata per eseguire gli esperimenti, il training e la distribuzione di modelli di Machine Learning. Collega la sottoscrizione e il gruppo di risorse di Azure a un oggetto di facile utilizzo nel servizio.

In questa esercitazione completare la procedura seguente per creare un'area di lavoro e continuare l'esercitazione.

  1. Accedere a studio di Azure Machine Learning

  2. Selezionare Crea area di lavoro

  3. Specificare le informazioni seguenti per configurare la nuova area di lavoro:

Campo Descrizione
Nome dell'area di lavoro Immettere un nome univoco che identifichi l'area di lavoro. I nomi devono essere univoci all'interno del gruppo di risorse. Usare un nome facile da ricordare e da distinguere dai nomi delle aree di lavoro create da altri utenti. Il nome dell'area di lavoro non rileva la distinzione tra maiuscole e minuscole.
Abbonamento Seleziona la sottoscrizione di Azure da usare.
Gruppo di risorse Usare un gruppo di risorse esistente nella sottoscrizione oppure immettere un nome per creare un nuovo gruppo di risorse. Un gruppo di risorse include risorse correlate per una soluzione Azure. Per usare un gruppo di risorse esistente, è necessario un ruolo di collaboratore o proprietario . Per altre informazioni sull'accesso, vedere Gestire l'accesso a un'area di lavoro di Azure Machine Learning.
Area Selezionare l'area di Azure più vicina agli utenti e alle risorse dati per creare l'area di lavoro.
  1. Selezionare Crea per creare l'area di lavoro

Per altre informazioni sulle risorse di Azure, vedere i passaggi descritti in questo articolo: Creare risorse necessarie per iniziare.

Per altri modi per creare un'area di lavoro in Azure, gestire le aree di lavoro di Azure Machine Learning nel portale o con Python SDK (v2).

Creare un processo di Machine Learning automatizzato

Completare i passaggi seguenti di configurazione ed esecuzione dell'esperimento tramite Azure Machine Learning Studio in https://ml.azure.com, un'interfaccia Web consolidata che include strumenti di Machine Learning per l'esecuzione di scenari di data science per esperti della materia di qualsiasi livello di competenza. Studio non è supportato nei browser Internet Explorer.

  1. Selezionare la sottoscrizione e l'area di lavoro create.

  2. Nel riquadro sinistro selezionare Automated ML (Machine Learning automatizzato) nella sezione Creazione.

    Poiché si tratta del primo esperimento di Machine Learning automatizzato, verranno visualizzati un elenco vuoto e collegamenti alla documentazione.

    Get started page

  3. Selezionare +Nuovo processo di Machine Learning automatizzato.

Creare e caricare un set di dati come asset di dati

Prima di configurare l'esperimento, caricare il file di dati nell'area di lavoro sotto forma di asset di dati di Azure Machine Learning. Nel caso di questa esercitazione, è possibile considerare un asset di dati come set di dati per il processo AutoML. In questo modo, è possibile assicurarsi che i dati siano correttamente formattati per l'esperimento.

  1. Creare un nuovo asset di dati selezionando Da file locali dall'elenco a discesa +Crea asset di dati.

    1. Nel modulo Informazioni di base assegnare un nome all'asset di dati e fornire una descrizione facoltativa. L'interfaccia di ML automatizzato attualmente supporta solo set di dati tabulari, quindi il tipo di set di dati dovrebbe essere tabulare per impostazione predefinita.

    2. Selezionare Avanti in basso a sinistra

    3. Nel modulo Selezione archivio dati e file selezionare l'archivio dati predefinito che è stato configurato automaticamente durante la creazione dell'area di lavoro, workspaceblobstore (archiviazione BLOB di Azure). Qui verrà caricato il file di dati per renderlo disponibile nell'area di lavoro.

    4. Selezionare Carica file dall'elenco a discesa Carica .

    5. Scegliere il file bankmarketing_train.csv nel computer locale. Si tratta del file scaricato come prerequisito.

    6. Selezionare Avanti nell'angolo in basso a sinistra per caricarlo nel contenitore predefinito configurato automaticamente durante la creazione dell'area di lavoro.

      Al termine del caricamento, il modulo di Impostazioni e anteprima viene precompilato in base al tipo di file.

    7. Verificare che i dati siano formattati correttamente tramite il modulo Schema . I dati devono essere popolati nel modo seguente. Dopo aver verificato che i dati siano accurati, selezionare Avanti.

      Campo Descrizione Valore per l'esercitazione
      File format Definisce il layout e il tipo di dati archiviati in un file. delimitato
      Delimitatore Uno o più caratteri per specificare il limite tra aree distinte indipendenti in testo normale o altri flussi di dati. Virgola
      Codifica Identifica la tabella dello schema bit-carattere da usare per leggere il set di dati. UTF-8
      Intestazioni di colonna Indica come verranno considerate le intestazioni del set di dati, se presenti. Tutti i file hanno le stesse intestazioni
      Ignora righe Indica quante righe vengono eventualmente ignorate nel set di dati. None
    8. Il modulo Schema consente di configurare ulteriormente i dati per questo esperimento. Per questo esempio, selezionare l'interruttore attiva/disattiva per il day_of_week, in modo da non includerlo. Selezionare Avanti. Schema form

    9. Nel modulo Conferma dettagli verificare che le informazioni corrispondano a quelle con cui erano stati precedentemente popolati i moduli Informazioni di base, Selezione archivio dati e file e Impostazioni e anteprima.

    10. Selezionare Crea per completare la creazione del set di dati.

    11. Selezionare il set di dati quando viene visualizzato nell'elenco.

    12. Esaminare i dati selezionando l'asset di dati e esaminando la scheda di anteprima che popola per assicurarsi di non includere day_of_week quindi selezionare Chiudi.

    13. Selezionare Avanti.

Configurazione del processo

Dopo aver caricato e configurato i dati, è possibile configurare l'esperimento. Questa configurazione include attività di progettazione dell'esperimento, ad esempio la selezione delle dimensioni dell'ambiente di calcolo e la specifica della colonna da stimare.

  1. Selezionare il pulsante di opzione Crea nuovo.

  2. Popolare il modulo Configura processo come indicato di seguito:

    1. Immettere questo nome di esperimento: my-1st-automl-experiment

    2. Selezionare y come colonna di destinazione, che indica le stime da eseguire. Questa colonna indica se il client ha sottoscritto o meno un deposito a termine.

    3. Selezionare Cluster di calcolo come tipo di calcolo.

    4. Una destinazione di calcolo è un ambiente di risorse locale o basato sul cloud usato per eseguire lo script di training o per ospitare la distribuzione del servizio. Per questo esperimento, è possibile provare un ambiente di calcolo serverless basato sul cloud (anteprima) o creare un ambiente di calcolo basato sul cloud personalizzato.

      1. Per usare il calcolo serverless, abilitare la funzionalità di anteprima, selezionare Serverless e ignorare il resto di questo passaggio.
      2. Per creare una destinazione di calcolo personalizzata, selezionare +Nuovo per configurare la destinazione di calcolo.
        1. Popolare il modulo Select virtual machine (Seleziona macchina virtuale) per configurare il calcolo.

          Campo Descrizione Valore per l'esercitazione
          Ufficio Area da cui si vuole eseguire il computer Stati Uniti occidentali 2
          Livello macchina virtuale Selezionare la priorità dell'esperimento Dedicato
          Tipo di macchina virtuale Selezionare il tipo di macchina virtuale per il contesto di calcolo. CPU (Central Processing Unit)
          Dimensioni della macchina virtuale Selezionare le dimensioni della macchina virtuale per il contesto di calcolo. È disponibile un elenco di dimensioni consigliate in base al tipo di dati e di esperimento. Standard_DS12_V2
        2. Selezionare Avanti per popolare il modulo Configura impostazioni.

          Campo Descrizione Valore per l'esercitazione
          Nome del calcolo Un nome univoco che identifica il contesto di calcolo. automl-compute
          Nodi min/max Per profilare i dati, è necessario specificare almeno un nodo. Nodi min: 1
          Numero massimo di nodi: 6
          Secondi di inattività prima della riduzione Tempo di inattività prima che il cluster venga ridotto automaticamente al numero minimo di nodi. 120 (impostazione predefinita)
          Impostazioni avanzate Impostazioni per la configurazione e l'autorizzazione di una rete virtuale per l'esperimento. None
        3. Selezionare Crea per creare la destinazione di calcolo.

          Il completamento dell'operazione richiede alcuni minuti.

          Settings page

        4. Al termine della creazione, selezionare la nuova destinazione di calcolo dall'elenco a discesa.

    5. Selezionare Avanti.

  3. Nel modulo Seleziona attività e impostazioni completare la configurazione per l'esperimento di Machine Learning automatizzato specificando il tipo di attività di Machine Learning e le impostazioni di configurazione.

    1. Selezionare Classificazione come tipo di attività di Machine Learning.

    2. Selezionare View additional configuration settings (Visualizza altre impostazioni di configurazione) e popolare i campi come indicato di seguito. Queste impostazioni consentono un maggior controllo del processo di training. Altrimenti, vengono applicate le impostazioni predefinite in base alla selezione dell'esperimento e ai dati.

      Configurazioni aggiuntive Descrizione Valore per l'esercitazione
      Primary metric (Metrica principale) Metrica di valutazione in base a cui verrà misurato l'algoritmo di Machine Learning. AUC_weighted
      Modello esplicativo migliore Mostra automaticamente il modello esplicativo migliore creato da ML automatizzato. Abilitare
      Blocked algorithms (Algoritmi bloccati) Algoritmi da escludere dal processo di training None
      Impostazioni di classificazione aggiuntive Queste impostazioni consentono di migliorare l'accuratezza del modello Etichetta di classe positiva: Nessuno
      Exit criterion (Esci da criterio) Se viene soddisfatto un criterio, il processo di training viene arrestato. Tempo del processo di formazione (ore): 1
      Soglia punteggio metrica: nessuno
      Concorrenza Il numero massimo di iterazioni parallele eseguite per ogni iterazione Numero massimo di iterazioni simultanee: 5

      Seleziona Salva.

    3. Selezionare Avanti.

  4. Nel modulo [Facoltativo] Convalidare e testare ,

    1. Selezionare k-fold cross-validation come tipo di convalida.
    2. Selezionare 2 come Numero di convalide incrociate.
  5. Selezionare Fine per eseguire l'esperimento. La schermata Dettagli processo viene visualizzata con lo stato processo nella parte superiore quando inizia la preparazione dell'esperimento. Questo stato viene aggiornato man mano che l'esperimento procede. Le notifiche vengono visualizzate anche nell'angolo superiore destro dello studio per informare l'utente dello stato dell'esperimento.

Importante

La preparazione dell'esecuzione dell'esperimento richiede 10-15 minuti. Dopo l'avvio, ogni iterazione richiede almeno 2-3 minuti.

In produzione, è probabile che nell'attesa ci si allontani. Per questa esercitazione però è consigliabile iniziare a esplorare gli algoritmi testati nella scheda Modelli non appena vengono completati mentre gli altri sono ancora in esecuzione.

Esplorare i modelli

Passare alla scheda Modelli per visualizzare gli algoritmi (modelli) testati. Per impostazione predefinita, i modelli sono ordinati in base al punteggio della metrica man mano che vengono completati. Per questa esercitazione, il modello che riceve il punteggio più alto in base alla metrica AUC_weighted scelta si trova all'inizio dell'elenco.

Mentre si aspetta il completamento di tutti i modelli dell'esperimento, selezionare il nome di algoritmo di un modello completato per esplorare i dettagli delle relative prestazioni.

Di seguito vengono esaminate le schede Dettagli e Metriche per visualizzare le proprietà, le metriche e i grafici delle prestazioni del modello selezionato.

Run iteration detail

Spiegazioni del modello

Mentre si attende il completamento dei modelli, è anche possibile esaminare le spiegazioni del modello e vedere quali funzionalità dei dati (non elaborate o ingegneriate) hanno influenzato le stime di un determinato modello.

Queste spiegazioni del modello possono essere generate su richiesta e riepilogate nel dashboard delle spiegazioni del modello che fa parte della scheda Spiegazioni (anteprima).

Per generare spiegazioni del modello,

  1. Selezionare Processo 1 nella parte superiore per tornare alla schermata Modelli .

  2. Selezionare la scheda Modelli .

  3. Per questa esercitazione selezionare il primo modello MaxAbsScaler, LightGBM .

  4. Selezionare il pulsante Spiega modello nella parte superiore. A destra viene visualizzato il riquadro Spiega modello .

  5. Selezionare automl-compute creato in precedenza. Questo cluster di calcolo avvia un processo figlio per generare le spiegazioni del modello.

  6. Selezionare Crea nella parte inferiore. Viene visualizzato un messaggio di operazione riuscita verde nella parte superiore dello schermo.

    Nota

    Il completamento del processo di spiegazione richiede circa 2-5 minuti.

  7. Selezionare il pulsante Spiegazioni (anteprima). Questa scheda viene popolata al termine dell'esecuzione della spiegazione.

  8. Sul lato sinistro espandere il riquadro e selezionare la riga non elaborata in Funzionalità.

  9. Selezionare la scheda Aggrega importanza della funzionalità a destra. Questo grafico mostra le caratteristiche dei dati che hanno influenzato le stime del modello selezionato.

    In questo esempio, la durata sembra avere la maggiore influenza sulle stime di questo modello.

    Model explanation dashboard

Distribuire il modello migliore

L'interfaccia di Machine Learning automatizzato consente di distribuire il modello migliore come servizio Web con pochi passaggi. La distribuzione è l'integrazione del modello per consentire la stima su nuovi dati e identificare le potenziali aree di opportunità.

Per questo esperimento, attraverso la distribuzione a un servizio Web l'istituto finanziario ha ora una soluzione Web iterativa e scalabile per l'identificazione dei potenziali clienti con deposito a termine fisso.

Verificare se l'esecuzione dell'esperimento è stata completata. A tale scopo, tornare alla pagina del processo padre selezionando Processo 1 nella parte superiore della schermata. Viene visualizzato lo stato Completato nella parte superiore sinistra della schermata.

Dopo aver completato l'esecuzione dell'esperimento, la pagina Dettagli viene popolata con una sezione di riepilogo Modello migliore. Nel contesto di questo esperimento VotingEnsemble viene considerato il modello migliore, in base alla metrica AUC_weighted.

Viene distribuito questo modello, ma tenere presente che il completamento della distribuzione richiede circa 20 minuti. Il processo di distribuzione comporta diversi passaggi, tra cui la registrazione del modello, la generazione delle risorse e la relativa configurazione per il servizio Web.

  1. Selezionare VotingEnsemble per aprire la pagina specifica del modello.

  2. Selezionare il menu Distribuisci in alto a sinistra e selezionare Distribuisci nel servizio Web.

  3. Immettere i dati nel riquadro Deploy a model (Distribuisci un modello) in questo modo:

    Campo valore
    Nome distribuzione my-automl-deploy
    Descrizione della distribuzione Distribuzione del primo esperimento automatizzato di apprendimento automatico
    Tipo di calcolo Selezionare Istanza di Azure Container (ACI)
    Abilita autenticazione Disabilita.
    Use custom deployments (Usa distribuzioni personalizzate) Disabilita. Consente la generazione automatica del file del driver predefinito (script di assegnazione dei punteggi) e del file di ambiente.

    Per questo esempio, vengono usate le impostazioni predefinite disponibili nel menu Avanzate.

  4. Seleziona Distribuisci.

    Nella parte superiore della schermata Processo viene visualizzato un messaggio di esito positivo verde e nel riquadro Riepilogo modello viene visualizzato un messaggio di stato in Stato distribuzione. Selezionare a intervalli regolari Aggiorna per controllare lo stato della distribuzione.

A questo punto, è disponibile un servizio Web operativo per generare stime.

Andare a Passaggi successivi per altre informazioni su come usare il nuovo servizio Web e testare le stime mediante il supporto di Azure Machine Learning incorporato in Power BI.

Pulire le risorse

I file di distribuzione sono più grandi dei file di dati e di esperimento e di conseguenza più costosi da archiviare. Eliminare solo i file di distribuzione per ridurre al minimo i costi per l'account o se si vuole conservare i file dell'area di lavoro e degli esperimenti. In caso contrario, eliminare l'intero gruppo di risorse, se non si prevede di usare alcun file.

Eliminare l'istanza di distribuzione

Eliminare solo l'istanza di distribuzione da Azure Machine Learning in https://ml.azure.com/ se si intende mantenere il gruppo di risorse e l'area di lavoro per altre esercitazioni e attività di esplorazione.

  1. Passare ad Azure Machine Learning. Passare all'area di lavoro e nel riquadro di sinistra Risorse selezionare Endpoint.

  2. Selezionare la distribuzione che si vuole eliminare e scegliere Elimina.

  3. Selezionare Continua.

Eliminare il gruppo di risorse

Importante

Le risorse create possono essere usate come prerequisiti per altre esercitazioni e procedure dettagliate per Azure Machine Learning.

Se non si prevede di usare alcuna delle risorse create, eliminarle in modo da non sostenere alcun addebito:

  1. Nel portale di Azure fare clic su Gruppi di risorse all'estrema sinistra.

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

  3. Selezionare Elimina gruppo di risorse.

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. Immettere il nome del gruppo di risorse. Quindi seleziona Elimina.

Passaggi successivi

In questa esercitazione di Machine Learning automatizzato è stata usata l'interfaccia di ML automatizzato di Azure Machine Learning per creare e distribuire un modello di classificazione. Per altre informazioni e per i passaggi successivi, vedere questi articoli:

Nota

Questo set di dati Bank Marketing viene reso disponibile nella licenza Creative Commons (CCO: Public Domain). Tutti i diritti per i singoli contenuti del database vengono concessi in licenza ai sensi della licenza relativa ai contenuti del database e resi disponibili in Kaggle. Questo set di dati era originariamente disponibile all'interno del database di Machine Learning UCI.

[Moro et al., 2014] S. Moro, P. Cortez e P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems, Elsevier, 62:22-31, giugno 2014.