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 Machine Learning 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:
- Per un esempio di previsione senza codice, vedere Esercitazione: Previsione della & domanda autoML.
- Per un primo esempio di codice di un modello di rilevamento oggetti, vedere Esercitazione: Eseguire il training di un modello di rilevamento oggetti con AutoML e Python,
Prerequisiti
Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare 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.
Esistono molti modi per creare un'area di lavoro. In questa esercitazione si creerà un'area di lavoro tramite il portale di Azure, una console basata sul Web per la gestione delle risorse di Azure.
Accedere al portale di Azure usando le credenziali della sottoscrizione di Azure.
Nell'angolo superiore sinistro del portale di Azure selezionare le tre barre e quindi + Crea una risorsa.
Usare la barra di ricerca per trovare Azure Machine Learning.
Selezionare Azure Machine Learning.
Nel riquadro Machine Learning selezionare Crea per iniziare.
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. In questo esempio si usa docs-ws. 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. Subscription Selezionare la sottoscrizione di Azure da usare. Resource group 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. In questo esempio si usa docs-aml. Region Selezionare la località più vicina agli utenti e alle risorse di dati per creare l'area di lavoro. Account di archiviazione Un account di archiviazione viene usato come archivio dati predefinito per l'area di lavoro. È possibile creare una nuova risorsa di Archiviazione di Azure o selezionare una risorsa esistente nella sottoscrizione. Insieme di credenziali delle chiavi Un insieme di credenziali delle chiavi viene usato per archiviare segreti e altre informazioni riservate necessarie per l'area di lavoro. È possibile creare una nuova risorsa di Azure Key Vault o selezionare una risorsa esistente nella sottoscrizione. Application Insights L'area di lavoro usa applicazione Azure Insights per archiviare le informazioni di monitoraggio sui modelli distribuiti. È possibile creare una nuova risorsa applicazione Azure Insights o selezionare una risorsa esistente nella sottoscrizione. Registro contenitori Un registro contenitori viene usato per registrare le immagini Docker usate nel training e nelle distribuzioni. È possibile scegliere di creare una risorsa o selezionare una risorsa esistente nella sottoscrizione. Dopo aver completato la configurazione dell'area di lavoro, selezionare Rivedi e crea.
Selezionare Crea per creare l'area di lavoro.
Avviso
La creazione dell'area di lavoro nel cloud può richiedere diversi minuti.
Al termine del processo verrà visualizzato un messaggio di conferma del completamento della distribuzione,
Per visualizzare la nuova area di lavoro, selezionare Vai alla risorsa.
Nella visualizzazione del portale dell'area di lavoro selezionare Avvia Studio per passare alla studio di Azure Machine Learning.
Importante
Prendere nota dell'area di lavoro e della sottoscrizione. Si tratta di informazioni necessarie per assicurarsi di creare l'esperimento nel posto giusto.
Accedere allo studio
Completare i passaggi di configurazione ed esecuzione dell'esperimento seguenti tramite il studio di Azure Machine Learning in https://ml.azure.com, un'interfaccia Web consolidata che include strumenti di Machine Learning per eseguire scenari di data science per professionisti di tutti i livelli di competenza. Studio non è supportato nei browser Internet Explorer.
Accedere ad Azure Machine Learning Studio.
Selezionare la sottoscrizione e l'area di lavoro create.
Selezionare Attività iniziali.
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.
Selezionare +Nuovo processo di Machine Learning automatizzato.
Creare e caricare il set di dati
Prima di configurare l'esperimento, caricare il file di dati nell'area di lavoro sotto forma di set di dati Azure Machine Learning. In questo modo, è possibile assicurarsi che i dati siano correttamente formattati per l'esperimento.
Creare un nuovo set di dati selezionando Da file locali dall'elenco a discesa +Crea set di dati .
Nel modulo Informazioni di base assegnare un nome al set di dati e specificare 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.
Selezionare Avanti in basso a sinistra
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.
Selezionare Carica file dall'elenco a discesa Carica .
Scegliere il file bankmarketing_train.csv nel computer locale. Si tratta del file scaricato come prerequisito.
Selezionare Avanti in basso a sinistra per caricarla nel contenitore predefinito configurato automaticamente durante la creazione dell'area di lavoro.
Al termine del caricamento, il modulo Impostazioni e anteprima viene prepopolato in base al tipo di file.
Verificare che il modulo Settings and preview (Impostazioni e anteprima) venga popolato come segue, quindi selezionare Avanti.
Campo Descrizione Valore per l'esercitazione Formato file 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. nessuno Il modulo Schema consente di configurare ulteriormente i dati per questo esperimento. Per questo esempio, selezionare l'interruttore attiva per il day_of_week, in modo da non includerlo. Selezionare Avanti.
Nel modulo Conferma dettagli verificare che le informazioni corrispondano a ciò che è stato popolato in precedenza nelle informazioni di base, nell'archivio dati e nella selezione dei file e nei moduli di anteprima .
Selezionare Crea per completare la creazione del set di dati.
Selezionare il set di dati quando viene visualizzato nell'elenco.
Esaminare l'anteprima dei dati per assicurarsi di non includere day_of_week quindi selezionare Chiudi.
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.
Selezionare il pulsante di opzione Crea nuovo.
Popolare il modulo Configura processo come segue:
Immettere questo nome di esperimento:
my-1st-automl-experiment
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.
Selezionare cluster di calcolo come tipo di calcolo.
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 calcolo serverless basato sul cloud (anteprima) o creare un'elaborazione basata sul cloud personalizzata.
- Per usare il calcolo serverless, abilitare la funzionalità di anteprima, selezionare Serverless e ignorare il resto di questo passaggio.
- Per creare una destinazione di calcolo personalizzata, selezionare +Nuovo per configurare la destinazione di calcolo.
Popolare il modulo Seleziona macchina virtuale per configurare il calcolo.
Campo Descrizione Valore per l'esercitazione Posizione Area da cui 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 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. Numero minimo di nodi: 1
Numero massimo di nodi: 6Secondi di inattività prima della riduzione Tempo di inattività prima che il cluster venga ridimensionato 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. nessuno Selezionare Crea per creare la destinazione di calcolo.
Il completamento dell'operazione richiede alcuni minuti.
Al termine della creazione, selezionare la nuova destinazione di calcolo dall'elenco a discesa.
Selezionare Avanti.
Nel modulo Seleziona attività e impostazioni completare la configurazione dell'esperimento di Machine Learning automatizzato specificando il tipo di attività e le impostazioni di configurazione di Machine Learning.
Selezionare Classificazione come tipo di attività di Machine Learning.
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 nessuno 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 di formazione (ore): 1
Soglia di punteggio metrica: NessunaConcorrenza Il numero massimo di iterazioni parallele eseguite per ogni iterazione Numero massimo di iterazioni simultanee: 5 Selezionare Salva.
Selezionare Avanti.
Nel modulo [Facoltativo] Convalidare e testare ,
- Selezionare k-fold cross-validation come tipo di convalida.
- Selezionare 2 come Numero di convalide incrociate.
Selezionare Fine per eseguire l'esperimento. Viene visualizzata la schermata Dettagli processo con lo stato Processo nella parte superiore all'inizio della 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.
Spiegazioni del modello
Mentre si attende il completamento dei modelli, è anche possibile esaminare le spiegazioni dei modelli e vedere quali funzionalità dei dati (non elaborate o progettata) 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,
Selezionare Processo 1 nella parte superiore per tornare alla schermata Modelli .
Selezionare la scheda Modelli .
Per questa esercitazione, selezionare il primo modello MaxAbsScaler LightGBM .
Selezionare il pulsante Spiega modello nella parte superiore. A destra viene visualizzato il riquadro Spiega modello .
Selezionare automl-compute creato in precedenza. Questo cluster di calcolo avvia un processo figlio per generare le spiegazioni del modello.
Selezionare Crea nella parte inferiore. Nella parte superiore della schermata viene visualizzato un messaggio verde di operazione riuscita.
Nota
Il completamento del processo di spiegazione richiede circa 2-5 minuti.
Selezionare il pulsante Spiegazioni (anteprima). Questa scheda viene popolata al termine dell'esecuzione della spiegazione.
Sul lato sinistro espandere il riquadro e selezionare la riga non elaborata in Funzionalità.
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.
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.
Selezionare VotingEnsemble per aprire la pagina specifica del modello.
Selezionare il menu Distribuisci in alto a sinistra e selezionare Distribuisci nel servizio Web.
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 Disabilitare. Use custom deployments (Usa distribuzioni personalizzate) Disabilitare. 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.
Selezionare Distribuisci.
Nella parte superiore della schermata Processo viene visualizzato un messaggio verde operazione riuscita 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 vuole mantenere il gruppo di risorse e l'area di lavoro per altre esercitazioni ed esplorazione.
Passare ad Azure Machine Learning. Passare all'area di lavoro e a sinistra nel riquadro Asset selezionare Endpoint.
Selezionare la distribuzione che si vuole eliminare e scegliere Elimina.
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 risorsa creata, eliminarle in modo da non sostenere alcun addebito:
Nel portale di Azure fare clic su Gruppi di risorse all'estrema sinistra.
Nell'elenco selezionare il gruppo di risorse creato.
Selezionare Elimina gruppo di risorse.
Immettere il nome del gruppo di risorse. Selezionare 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:
- Funzionalità automatizzate di Machine Learning.
- Per altre informazioni sulle metriche e sui grafici di classificazione, vedere l'articolo Informazioni sui risultati di Machine Learning automatizzato.
Nota
Questo set di dati di marketing bancario viene reso disponibile in Creative Comm (CCO: Public Domain) License. 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.