Ri-istruisci i modelli di apprendimento automatico e automatizza le previsioni batch in Amazon SageMaker Canvas utilizzando set di dati aggiornati.

Retrain machine learning models and automate batch predictions in Amazon SageMaker Canvas using updated datasets.

Ora è possibile riallenare i modelli di machine learning (ML) e automatizzare i flussi di lavoro di previsione batch con set di dati aggiornati in Amazon SageMaker Canvas, semplificando così l’apprendimento costante e il miglioramento delle prestazioni del modello e aumentando l’efficienza. L’efficacia di un modello di ML dipende dalla qualità e dalla pertinenza dei dati su cui è stato addestrato. Con il passare del tempo, i modelli sottostanti, le tendenze e le distribuzioni dei dati possono cambiare. Aggiornando il set di dati si garantisce che il modello apprenda dai dati più recenti e rappresentativi, migliorando la sua capacità di fare previsioni accurate. Canvas ora supporta l’aggiornamento automatico e manuale dei set di dati, consentendo di utilizzare la versione più recente del set di dati tabellare, di immagini e di documenti per l’addestramento dei modelli di ML.

Dopo aver addestrato il modello, potrebbe essere necessario eseguire le previsioni su di esso. L’esecuzione di previsioni batch su un modello di ML consente di elaborare contemporaneamente più punti dati invece di effettuare previsioni una per volta. L’automazione di questo processo offre efficienza, scalabilità e tempestività nella presa di decisioni. Dopo la generazione delle previsioni, queste possono essere ulteriormente analizzate, aggregate o visualizzate per ottenere informazioni, identificare modelli o prendere decisioni informate in base ai risultati previsti. Canvas ora supporta la configurazione automatica dei flussi di lavoro di previsione batch e l’associazione di un set di dati ad essi. Quando il set di dati associato viene aggiornato, manualmente o in base a un programma, verrà attivato automaticamente un flusso di lavoro di previsione batch sul modello corrispondente. I risultati delle previsioni possono essere visualizzati in linea o scaricati per una successiva revisione.

In questo post, mostriamo come riallenare i modelli di ML e automatizzare le previsioni batch utilizzando i set di dati aggiornati in Canvas.

Panoramica della soluzione

Per il nostro caso d’uso, svolgiamo il ruolo di un analista di business per un’azienda di e-commerce. Il nostro team prodotto vuole che determiniamo le metriche più critiche che influenzano la decisione di acquisto di un acquirente. Per questo, addestriamo un modello di ML in Canvas con un set di dati di sessioni online del sito Web dei clienti dell’azienda. Valutiamo le prestazioni del modello e, se necessario, lo rialleniamo con dati aggiuntivi per vedere se migliora o meno le prestazioni del modello esistente. Per farlo, utilizziamo la capacità di aggiornamento automatico del set di dati in Canvas e rialleniamo il nostro modello di ML esistente con l’ultima versione del set di dati di addestramento. Successivamente, configuriamo i flussi di lavoro di previsione batch automatici: quando il set di dati di previsione corrispondente viene aggiornato, attiva automaticamente il lavoro di previsione batch sul modello e mette a disposizione i risultati per la revisione.

I passaggi del flusso di lavoro sono i seguenti:

  1. Caricare i dati delle sessioni online del sito Web dei clienti scaricati su Amazon Simple Storage Service (Amazon S3) e creare un nuovo set di dati di addestramento in Canvas. Per la lista completa delle origini dati supportate, fare riferimento all’importazione dei dati in Amazon SageMaker Canvas.
  2. Costruire i modelli di ML e analizzare le metriche delle prestazioni. Fare riferimento ai passaggi su come costruire un modello di ML personalizzato in Canvas e valutare le prestazioni di un modello.
  3. Impostare l’aggiornamento automatico sul set di dati di addestramento esistente e caricare i nuovi dati nella posizione Amazon S3 che supporta questo set di dati. Al termine, verrà creata una nuova versione del set di dati.
  4. Utilizzare l’ultima versione del set di dati per riallenare il modello di ML e analizzarne le prestazioni.
  5. Configurare le previsioni batch automatiche sulla versione del modello a prestazioni migliori e visualizzare i risultati delle previsioni.

È possibile eseguire questi passaggi in Canvas senza scrivere una sola riga di codice.

Panoramica dei dati

Il set di dati consiste in vettori di funzioni che appartengono a 12.330 sessioni. Il set di dati è stato formato in modo che ogni sessione appartenga a un utente diverso in un periodo di 1 anno per evitare qualsiasi tendenza a una specifica campagna, giorno speciale, profilo utente o periodo. La seguente tabella illustra lo schema dei dati.

Nome colonna Tipo di dati Descrizione
Amministrativo Numerico Numero di pagine visitate dall’utente per attività relative alla gestione dell’account utente.
Amministrativo_Durata Numerico Quantità di tempo trascorso in questa categoria di pagine.
Informativo Numerico Numero di pagine di questo tipo (informativo) visitate dall’utente.
Informativo_Durata Numerico Quantità di tempo trascorso in questa categoria di pagine.
Prodotto_Corrispondente Numerico Numero di pagine di questo tipo (correlate ai prodotti) visitate dall’utente.
Prodotto_Corrispondente_Durata Numerico Quantità di tempo trascorso in questa categoria di pagine.
Tassi_di_Rimbalzo Numerico Percentuale di visitatori che entrano nel sito Web attraverso quella pagina ed escono senza attivare altre attività.
Tassi_di_Uscita Numerico Tasso di uscita medio delle pagine visitate dall’utente. Questa è la percentuale di persone che hanno lasciato il sito dalla pagina.
Valori_Pagina Numerico Valore medio della pagina delle pagine visitate dall’utente. Questo è il valore medio per una pagina che un utente ha visitato prima di atterrare sulla pagina obiettivo o completare una transazione di e-commerce (o entrambe).
Giorno_Speciale Binario La funzionalità “Giorno speciale” indica la vicinanza del momento della visita del sito a un giorno speciale specifico (come la festa della mamma o San Valentino) in cui le sessioni sono più probabili di essere final

Il fatturato è la colonna target, che ci aiuterà a prevedere se un acquirente acquisterà o meno un prodotto.

Il primo passo è scaricare il dataset che utilizzeremo. Si noti che questo dataset è cortesia dell’UCI Machine Learning Repository.

Prerequisiti

Per questa procedura guidata, completare i seguenti passaggi preliminari:

  1. Suddividere il CSV scaricato che contiene 20.000 righe in più file di chunk più piccoli.

Ciò è necessario per mostrare la funzionalità di aggiornamento del dataset. Assicurarsi che tutti i file CSV abbiano gli stessi header, altrimenti si potrebbero verificare errori di corrispondenza dello schema durante la creazione di un dataset di formazione in Canvas.

  1. Creare un bucket S3 e caricare online_shoppers_intentions1-3.csv nel bucket S3.

  1. Riservare 1.500 righe dal CSV scaricato per eseguire previsioni batch dopo che il modello ML è stato addestrato.
  2. Rimuovere la colonna Revenue da questi file in modo che quando si esegue la previsione batch sul modello ML, quello sia il valore che il modello prevederà.

Assicurarsi che tutti i file predict*.csv abbiano gli stessi header, altrimenti si potrebbero verificare errori di corrispondenza dello schema durante la creazione di un dataset di previsione (inferenza) in Canvas.

  1. Eseguire le operazioni necessarie per configurare un dominio SageMaker e un’app Canvas.

Creare un dataset

Per creare un dataset in Canvas, completare i seguenti passaggi:

  1. In Canvas, scegliere Dataset nel riquadro di navigazione.
  2. Scegliere Crea e scegliere Tabulare.
  3. Dare al dataset un nome. Per questo post, chiamiamo il nostro dataset di formazione OnlineShoppersIntentions.
  4. Scegliere Crea.
  5. Scegliere la propria origine dati (per questo post, la nostra origine dati è Amazon S3).

Si noti che al momento della scrittura, la funzionalità di aggiornamento del dataset è supportata solo per le origini dati Amazon S3 e quelle caricate localmente.

  1. Selezionare il bucket corrispondente e caricare i file CSV per il dataset.

Ora è possibile creare un dataset con più file.

  1. Visualizzare l’anteprima di tutti i file nel dataset e scegliere Crea dataset.

Ora abbiamo la versione 1 del dataset OnlineShoppersIntentions con tre file creati.

  1. Scegli il dataset per visualizzare i dettagli.

La scheda Dati mostra una preview del dataset.

  1. Scegli Dettagli del dataset per visualizzare i file contenuti nel dataset.

Il pannello File del dataset elenca i file disponibili.

  1. Scegli la scheda Storico versioni per visualizzare tutte le versioni di questo dataset.

Possiamo vedere che la prima versione del nostro dataset ha tre file. Qualsiasi versione successiva includerà tutti i file delle versioni precedenti e fornirà una vista cumulativa dei dati.

Allenare un modello di machine learning con la versione 1 del dataset

Alleniamo un modello di machine learning con la versione 1 del nostro dataset.

  1. In Canvas, scegli I miei modelli nel riquadro di navigazione.
  2. Scegli Nuovo modello.
  3. Inserisci un nome per il modello (ad esempio, OnlineShoppersIntentionsModel), seleziona il tipo di problema e scegli Crea.
  4. Seleziona il dataset. Per questo post, selezioniamo il dataset OnlineShoppersIntentions.

Per impostazione predefinita, Canvas prenderà la versione del dataset più recente per l’allenamento.

  1. Nella scheda Costruisci, scegli la colonna target da prevedere. Per questo post, scegliamo la colonna Revenue.
  2. Scegli Costruzione rapida.

L’allenamento del modello richiederà da 2 a 5 minuti per essere completato. Nel nostro caso, il modello addestrato ci dà un punteggio del 89%.

Impostare gli aggiornamenti automatici del dataset

Aggiorniamo il nostro dataset utilizzando la funzionalità di aggiornamento automatico e vediamo se la performance del modello migliora con la nuova versione del dataset. I dataset possono essere aggiornati anche manualmente.

  1. Nella pagina Dataset, seleziona il dataset OnlineShoppersIntentions e scegli Aggiorna dataset.
  2. Puoi scegliere tra l’Aggiornamento manuale, che è un’opzione di aggiornamento una tantum, o l’Aggiornamento automatico, che ti consente di aggiornare automaticamente il dataset secondo un programma. Per questo post, mostriamo la funzione di aggiornamento automatico.

Verrai reindirizzato alla scheda Aggiornamento automatico per il dataset corrispondente. Possiamo vedere che Abilita aggiornamento automatico è attualmente disabilitato.

  1. Attiva Abilita aggiornamento automatico e specifica la fonte dati (al momento, le fonti dati di Amazon S3 sono supportate per gli aggiornamenti automatici).
  2. Seleziona una frequenza e inserisci un’ora di inizio.
  3. Salva le impostazioni di configurazione.

È stata creata una configurazione di dataset di aggiornamento automatico. Può essere modificata in qualsiasi momento. Quando viene attivato un lavoro di aggiornamento del dataset corrispondente secondo il programma specificato, il lavoro apparirà nella sezione Cronologia lavoro.

  1. Successivamente, carichiamo i file online_shoppers_intentions4.csv, online_shoppers_intentions5.csv e online_shoppers_intentions6.csv nel nostro bucket S3.

Possiamo visualizzare i nostri file nel bucket S3 dataset-update-demo.

Il lavoro di aggiornamento del dataset verrà attivato secondo il programma specificato e creerà una nuova versione del dataset.

Quando il lavoro è completo, la versione del dataset 2 avrà tutti i file della versione 1 e i file aggiuntivi elaborati dal lavoro di aggiornamento del dataset. Nel nostro caso, la versione 1 ha tre file e il lavoro di aggiornamento ha raccolto altri tre file, quindi la versione finale del dataset ha sei file.

Possiamo visualizzare la nuova versione creata nella scheda Versione Cronologia.

La scheda Dati contiene una anteprima del dataset e fornisce un elenco di tutti i file nella versione più recente del dataset.

Ritraniamo il modello di Machine Learning con l’ultimo dataset aggiornato

Ritraniamo il nostro modello di ML con l’ultima versione del dataset.

  1. Nella pagina I miei modelli, scegli il tuo modello.
  2. Scegli Aggiungi versione.
  3. Seleziona l’ultima versione del dataset (v2 nel nostro caso) e scegli Seleziona dataset.
  4. Mantieni la colonna target e la configurazione di costruzione simili alla versione precedente del modello.

Quando la formazione è completa, valutiamo le prestazioni del modello. La seguente schermata mostra che l’aggiunta di dati aggiuntivi e la ritraining del nostro modello di ML hanno contribuito a migliorare le prestazioni del nostro modello.

Crea un dataset di previsione

Con un modello di ML addestrato, creiamo un dataset per le previsioni ed eseguiamo le previsioni batch su di esso.

  1. Nella pagina Dataset, crea un dataset tabulare.
  2. Inserisci un nome e scegli Crea.
  3. Nel nostro bucket S3, carica un file con 500 righe da prevedere.

Successivamente, configuriamo gli aggiornamenti automatici sul dataset di previsione.

  1. Attiva l’opzione Abilita aggiornamento automatico e specifica la fonte dati.
  2. Seleziona la frequenza e specifica un’ora di inizio.
  3. Salva la configurazione.

Automatizza il flusso di lavoro di previsione batch su un dataset di previsione aggiornato automaticamente

In questo passaggio, configuriamo i nostri flussi di lavoro di previsione batch automatici.

  1. Nella pagina My models, vai alla versione 2 del tuo modello.
  2. Nella scheda Predict, scegli Batch prediction e Automatic.
  3. Scegli Select dataset per specificare il dataset su cui generare le previsioni.
  4. Seleziona il dataset predict che abbiamo creato in precedenza e scegli Choose dataset.
  5. Scegli Set up.

Ora abbiamo un flusso di lavoro automatico di previsione per batch. Questo verrà attivato quando il dataset Predict viene aggiornato automaticamente.

Ora carichiamo più file CSV nella cartella S3 predict.

Questa operazione attiverà un aggiornamento automatico del dataset predict.

Ciò a sua volta attiverà il flusso di lavoro automatico di previsione per batch e genererà previsioni da visualizzare.

Possiamo visualizzare tutte le automazioni nella pagina Automations.

Grazie all’aggiornamento automatico del dataset e ai flussi di lavoro automatici di previsione per batch, possiamo utilizzare la versione più recente dei dataset tabulari, delle immagini e dei documenti per addestrare i modelli di ML e creare flussi di lavoro di previsione per batch che vengono attivati automaticamente ad ogni aggiornamento del dataset.

Pulizia

Per evitare di incorrere in future spese, effettua il logout da Canvas. Canvas ti addebita per la durata della sessione e ti consigliamo di effettuare il logout da Canvas quando non lo stai usando. Consulta il Logging out of Amazon SageMaker Canvas per maggiori dettagli.

Conclusioni

In questo post, abbiamo discusso come utilizzare la nuova funzionalità di aggiornamento del dataset per creare nuove versioni del dataset e addestrare i nostri modelli di ML con i dati più recenti in Canvas. Abbiamo anche mostrato come automatizzare in modo efficiente il processo di esecuzione di previsioni per batch sui dati aggiornati.

Per iniziare il tuo viaggio di ML a basso codice/nullo codice, consulta la Amazon SageMaker Canvas Developer Guide.

Un ringraziamento speciale a tutti coloro che hanno contribuito al lancio.