Nozioni di base / Esperienza pratica / ...
Generazione di previsioni di machine learning senza scrivere codice
GUIDA ALLE OPERAZIONI DI BASE
Panoramica
Argomenti affrontati
Con questa guida, imparerai a:
- Importare i set di dati
- Selezionare la variabile di destinazione per la classificazione
- Ispezionare visivamente i set di dati
- Creare un modello di ML con la funzione Quick Build di SageMaker Canvas
- Comprendere funzionalità e parametri di modelli
- Generare e comprendere previsioni singole e in massa
Prerequisiti
Prima di iniziare questa guida, avrai bisogno di:
- Un account AWS: se non hai già un account, segui la guida introduttiva Configurazione del tuo ambiente per una panoramica rapida.
Esperienza AWS
Principiante
Tempo per il completamento
20 minuti
Costo richiesto per il completamento
Per una stima dei costi di questo tutorial, consulta Prezzi di SageMaker Canvas.
Requisiti
Devi aver effettuato l'accesso con un account AWS.
Servizi utilizzati
Amazon SageMaker Canvas
Ultimo aggiornamento
28 giugno 2022
Caso d'uso
In questo tutorial creerai un modello di ML che può prevedere il tempo stimato di arrivo (ETA, estimated time of arrival) delle spedizioni (misurato in giorni). Utilizzerai un set di dati che contiene dati di spedizione completi per i prodotti consegnati, inclusi tempo stimato, spedizione, priorità, corriere e origine.
Fase 1: Configurazione del dominio di Amazon SageMaker Studio
Un account AWS può avere solo un dominio SageMaker Studio per regione AWS. Se hai già un dominio SageMaker Studio nella regione Stati Uniti orientali (Virginia settentrionale), consulta la Guida alla configurazione di SageMaker Studio per collegare le policy AWS IAM richieste all'account SageMaker Studio, quindi salta la fase 1 e passa direttamente alla fase 2.
Se invece non disponi di un dominio SageMaker Studio, continua con la fase 1 per eseguire un modello AWS CloudFormation che crea un dominio SageMaker Studio e aggiunge le autorizzazioni necessarie per il resto di questo tutorial.
Scegli il link dello stack AWS CloudFormation. Questo link apre la console AWS CloudFormation e crea il dominio SageMaker e un utente denominato studio-user. Inoltre aggiunge le autorizzazioni richieste al tuo account SageMaker Studio. Nella console CloudFormation, conferma che Stati Uniti orientali (Virginia settentrionale) sia la regione visualizzata nell'angolo in alto a destra. Il nome dello stack deve essere CFN-SM-IM-Lambda-Catalog e non può essere modificato. Questo stack richiede circa 10 minuti per creare tutte le risorse.
Assume inoltre che sia presente un VPC pubblico configurato nell'account. Se non hai un VPC pubblico, consulta VPC con una singola sottorete pubblica per scoprire come creare un VPC pubblico.
Seleziona I acknowledge that AWS CloudFormation might create IAM resources (Sono consapevole che AWS CloudFormation può creare le risorse IAM), quindi scegli Create stack (Crea stack).
Nel riquadro CloudFormation, scegli Stacks (Stack). La creazione dello stack richiede circa 10 minuti. Una volta creato lo stack, il suo stato passerà da CREATE_IN_PROGRESS a CREATE_COMPLETE.
Fase 2: Accesso a SageMaker Canvas e caricamento del set di dati nel bucket Amazon S3
Immetti SageMaker Canvas nella barra di ricerca nella console AWS e vai a SageMaker Canvas.
Scegli Canvas dal pannello di controllo sul riquadro di sinistra e scegli US East (N. Virginia) (Stati Uniti orientali [Virginia settentrionale]) dall'elenco a discesa delle regioni in alto a destra.
- Sulla pagina di SageMaker Canvas, scegli Launch SageMaker Canvas (Avvia SageMaker Canvas).
- Sulla pagina del pannello di controllo, seleziona Canvas dall'elenco a discesa Launch app (Avvia app) accanto a studio-user.
- Verrà visualizzata la schermata Creating application (Creazione dell'applicazione) di SageMaker Canvas. Il caricamento dell'applicazione richiede qualche minuto.
Se è la prima volta che utilizzi SageMaker in US-East 1, SageMaker Canvas crea il bucket Amazon S3 con un nome che utilizza il seguente schema: sagemaker-<regione>-<id-account>. Prima di procedere con il resto del tutorial, scarica i set di dati di seguito e salvali sul tuo computer locale. Quindi carica i set di dati nel bucket S3 predefinito che SageMaker Canvas ha creato per te.
Scarica il registro di spedizione sintetico e i set di dati dei prodotti.
Nella barra di ricerca della console AWS, immetti S3 e poi seleziona S3.
Quando si apre la console S3, puoi trovare il tuo bucket predefinito che SageMaker Canvas ha creato per tuo conto nella sezione Buckets (Bucket). Scegli il bucket denominato sagemaker-<regione>-<id-account> e nella pagina successiva scegli Upload (Carica).
Sulla pagina Upload (Carica), scegli Add files (Aggiungi file), quindi seleziona i due set di dati scaricati nella fase precedente. Scorri fino alla parte inferiore della pagina e fai clic su Upload (Carica). SageMaker Canvas accederà a questi file prima di creare il modello.
Fase 3: Configurazione di SageMaker Canvas per la creazione del modello automatico
Importa i dati in SageMaker Canvas per l'ispezione visiva e la creazione del modello.
Importa il set di dati in SageMaker Canvas.
- Nell'interfaccia di SageMaker Canvas, scegli Datasets (Set di dati) nel riquadro sinistro, quindi scegli + Import (Importa).
- Seleziona il bucket Amazon S3 denominato sagemaker-<regione>-<id-account> in cui hai caricato i set di dati nella fase precedente. Seleziona i set di dati shipping_logs.csv e product_descriptions.csv selezionando le caselle di controllo sulla loro sinistra. Nella parte inferiore della pagina sono presenti due pulsanti: Preview all (Anteprima) e Import data (Importa dati). Scegli Preview all (Anteprima). Ciò consente di visualizzare un'anteprima di 100 righe dei set di dati.
- Dopo aver selezionato i set di dati, scegli Import data (Importa dati) per importarli in SageMaker Canvas.
Sulla pagina SageMaker Canvas, nella sezione Datasets (Set di dati), troverai i due set di dati importati. Scegli Join data (Unisci dati).
Sulla pagina Join Datasets (Unisci set di dati), trascina i due set di dati dal pannello di sinistra al pannello di destra. Seleziona l'icona join (unisci) tra i due set di dati. Apparirà un pop-up che mostra i dettagli del join. Assicurati che questo tipo di join sia Inner e che la colonna di unione sia ProductId. Scegli Save & close (Salva e chiudi) quindi seleziona Import data (Importa dati).
- Nella finestra di dialogo Import data (Importa dati), immetti il nome ConsolidatedShippingData nel campo Import dataset name (Nome set di dati di importazione) e scegli Import data (Importa dati).
Fase 4: Creazione, addestramento e analisi di un modello di ML
Configura la variabile di destinazione, ispeziona visivamente le proprietà dei dati e inizia il processo di creazione del modello.
Sull'interfaccia utente di SageMaker Canvas, scegli Models (Modelli), quindi seleziona + New model (Nuovo modello). Nella finestra di dialogo Create new model (Crea nuovo modello), inserisci ShippingForecast nel campo del nome del modello e scegli Create (Crea).
La pagina di visualizzazione del modello è costituita da 4 schede che rappresentano le fasi coinvolte nel processo di creazione di un modello e di recupero delle previsioni. Le schede sono:
- Select (Seleziona): configura i dati di input.
- Build (Crea): crea il modello di ML.
- Analyze (Analizza): analizza l'output del modello e le funzionalità.
- Predict (Previsione): esegue le previsioni in massa o su un singolo campione.
Nella scheda Select (Seleziona) scegli il pulsante d'opzione per il set di dati ConsolidatedShippingData creato nella fase precedente. Questo set di dati contiene 16 colonne e 10.000 righe. Contiene inoltre una descrizione dettagliata della forma e della dimensione del set di dati. Scegli Select dataset (Seleziona set di dati).
Dopo aver selezionato il set di dati, SageMaker Canvas passa automaticamente alla fase Build (Crea). Su questa scheda scegli la colonna di destinazione che, in questo esempio, è ActualShippingDays. Poiché questa colonna contiene il numero di giorni richiesti per l'arrivo della merce, è adatta per l'uso come colonna di destinazione.
- Una volta seleziona la colonna di destinazione, SageMaker Canvas prova a dedurre il tipo di problema. Poiché sei interessato a quanti giorni la merce impiegherà per arrivare al cliente, questo è un problema di regressione o previsione numerica. La regressione stima i valori di una variabile di destinazione dipendente sulla base di una o più altre variabili o attributi ad essa correlati. In questo caso, SageMaker Canvas inizialmente può prevedere questo caso d'uso come un problema Tipo di previsione per serie temporali in quanto ha rilevato una colonna con date nel set di dati. Tuttavia, puoi modificare il tipo di problema in Tipo di modello numerico selezionandolo manualmente con il tipo di link Change type (Cambia tipo) al centro della pagina.
- Nota che la correlazione delle colonne XShippingDistance e YShippingDistance con la destinazione è trascurabile.
- Poiché le funzionalità con una correlazione trascurabile con l'obiettivo non sono sufficientemente informative per l'attività di previsione in corso, è possibile eliminare le colonne XShippingDistance,YShippingDistance, ProductID e OrderID perché sono chiavi primarie e non dovrebbero contenere informazioni preziose. Puoi deselezionare le relative caselle di controllo.
- Puoi selezionare l'icona delle barre verticali per ispezionare le distribuzioni delle colonne. Ciò è molto utile per evidenziare squilibri e potenziali distorsioni nei dati.
Per questo tutorial, scegli la creazione rapida per iniziare la creazione del modello. Il completamento di questo processo richiede meno di 5 minuti.
Una volta completata la creazione del modello, SageMaker Canvas passa automaticamente alla scheda Analyze (Analizza) per visualizzare i risultati dell'addestramento rapido. Il modello SageMaker Canvas generato tramite la creazione rapida può prevedere il numero di giorni di spedizione entro entro +/-1,2333 del valore effettivo. Il machine learning introduce una certa stocasticità nel processo di addestramento dei modelli, che può portare a risultati diversi per build diverse. Pertanto, le prestazioni esatte in termini di parametri visualizzati potrebbero essere diverse.
Nella scheda Overview (Panoramica), SageMaker Canvas mostra l'impatto della colonna o l'importanza stimata di ciascuna colonna di input nella previsione della colonna di destinazione. In questo esempio, la colonna ExpectedShippingDays ha l'impatto significativo sulla previsione del numero di giorni di spedizione. Sul pannello di destra, puoi anche vedere la direzione dell'impatto di una funzione. Ad esempio, maggiore è il valore di ExpectedShippingDays, più positivo sarà il suo impatto sulla previsione del numero di giorni di spedizione.
Nella scheda Scoring (Punteggio), puoi visualizzare un grafico che rappresenta la retta di regressione più adatta per ActualshippingDays. In media, la previsione del modello ha una differenza di +/- 1,2333 dal valore effettivo di ActualShippingDays. La sezione Scoring (Punteggio) per la previsione numerica mostra una linea che indica il valore previsto del modello in relazione ai dati utilizzati per fare le previsioni. I valori della previsione numerica sono spesso +/- il valore RMSE (errore quadratico medio della radice). Il valore previsto dal modello si trova spesso all'interno dell'intervallo dell'RMSE. La larghezza della banda viola attorno alla linea indica l'intervallo RMSE. I valori previsti spesso rientrano nell'intervallo. Per avere una comprensione più approfondita delle prestazioni del modello, seleziona il link Advanced metrics (Parametri avanzati) sulla destra per visualizzare la pagina Advanced metrics (Parametri avanzati).
- I vari parametri sulla pagina Advanced metrics (Parametri avanzati) sono R2, Mean Absolute Error o MAE (errore assoluto medio), Mean Absolute Percentage Error o MAPE (errore percentuale assoluto medio) e Root Mean Squared Error o RMSE (errore al quadrato della media radice). La pagina Advanced metrics (Parametri avanzati) mostra anche i grafici per l'ispezione visiva delle prestazioni del modello. Immagine che mostra un grafico dei residui o degli errori. La linea orizzontale indica un errore pari a 0 o una previsione perfetta. I punti blu sono gli errori. La loro distanza dalla linea orizzontale indica l'entità degli errori.
- Scorrendo verso il basso nella pagina dei parametri avanzati, puoi visualizzare un grafico della densità degli errori che mostra la distribuzione degli errori e la loro diffusione rispetto a MAE e RMSE del modello. Una densità di errore con forma simile a una distribuzione normale è indicativa di buone prestazioni del modello.
Fase 5: Generazione di previsioni del modello
Ora che disponi di un modello di regressione, puoi utilizzare il modello per eseguire previsioni oppure creare una nuova versione di questo modello per l'addestramento con il processo di creazione standard. In questa fase, utilizzi SageMaker Canvas per generare previsioni sui set di dati sia singoli che in massa.
Per iniziare a generare le previsioni, scegli la scheda Predict (Previsione).
- Scegli il pulsante Predict (Previsione) nella parte inferiore della pagina Analyze (Analizza) oppure seleziona la scheda Predict (Previsione). Nella pagina Predict (Previsione), l'opzione Batch prediction (Previsione in batch) è già selezionata. Scegli Select dataset (Seleziona set di dati) quindi seleziona il set di dati ConsolidatedShippingData. Nei flussi di lavoro di ML effettivi, questo set di dati dovrebbe essere separato dal set di dati di addestramento. Tuttavia, per semplicità, utilizzi lo stesso set di dati per dimostrare come SageMaker Canvas genera previsioni. Scegli Generate predictions (Genera previsioni).
- Dopo pochi secondi, la previsione è fatta. Scegli l'icona delle opzioni e seleziona preview (anteprima) per visualizzare un'anteprima delle previsioni passando il mouse sopra il nome o lo stato del set di dati delle previsioni. Puoi inoltre scegliere Download (Scarica) per scaricare un file CSV contenente l'output completo. SageMaker Canvas restituisce una previsione per ogni riga di dati. In questo tutorial, la funzionalità con la massima importanza è la funzionalità ExpectedShippingDays. Viene anche presentato accanto alle previsioni per un confronto visivo.
- Sulla pagina Predict (Previsione), puoi generaer le previsioni per un singolo campione selezionando Single prediction (Singola previsione). SageMaker Canvas presenta un'interfaccia in cui è possibile inserire manualmente i valori per ciascuna delle variabili di input utilizzate nel modello. Questo tipo di analisi è ideale per scenari ipotetici in cui si desidera sapere come cambia la previsione quando una o più variabili aumentano o diminuiscono di valore. Con la previsione del singolo insieme di valori di colonna, SageMaker Canvas fornisce l'importanza delle singole funzionalità. Indica le colonne con la maggiore influenza sulla previsione del campione corrente.
Per l'ambito di questo tutorial, il modello standard non è coperto. Tuttavia, l'addestramento in questa modalità è simile ai passaggi descritti in questo tutorial.
Puoi iniziare dando al modello il nome ShippingForecastStandardModel. Inoltre, nella scheda Build (Crea) puoi scegliere il modello standard al posto del modello rapido. Da lì, procedi con i passaggi rimanenti. La modalità di creazione standard è utile nel fornire la funzionalità aggiuntiva di poter condividere il modello addestrato con i data scientist tramite SageMaker Studio. Ciò consente la collaborazione, il perfezionamento rapido del modello e le iterazioni. L'opzione di condivisione sarà disponibile nella scheda Analyze (Analizza) una volta completato l'addestramento del modello.
Fase 6: Eliminazione delle risorse AWS
Per evitare di ricevere addebiti non desiderati, una best practice consigliata consiste nell'eliminare le risorse non più utilizzate.
Passa alla console S3 e seleziona la voce di menu Buckets (Bucket).
Elimina l'oggetto di test dal tuo bucket di test. Seleziona il nome del bucket con cui hai lavorato per questo tutorial. Seleziona la casella di controllo a sinistra del nome dell'oggetto di prova, quindi seleziona il pulsante Delete (Elimina). Sulla pagina Delete objects (Elimina oggetti), verifica di aver selezionato l'oggetto corretto da eliminare, quindi digita permanently delete nella casella di conferma Permanently delete objects (Elimina definitivamente gli oggetti). Quindi seleziona il pulsante Delete object (Elimina oggetto) per continuare. Successivamente, verrà visualizzato un banner che indica se l'eliminazione è andata a buon fine.
Sulla pagina principale di SageMaker Canvas, scegli Models (Modelli). Nel riquadro di destra è visibile il modello che hai creato. Scegli i puntini di sospensione verticali sulla destra dell'opzione View (Visualizza) quindi seleziona Delete model (Elimina modello).
Nella console SageMaker Studio, seleziona studio-user e per ogni app riportata in Apps (App) scegli Delete app (Elimina app). Segui le istruzioni sullo schermo per confermare l'operazione di eliminazione. Attendere finché lo stato diventa Deleted (Eliminato).
Se nella fase 1 hai utilizzato un dominio SageMaker Studio esistente, salta il resto della fase 6 e procedi direttamente alla sezione conclusiva.
Se hai eseguito il modello CloudFormation nella fase 1 per creare un nuovo dominio SageMaker Studio, continua con le fasi seguenti per eliminare il dominio, l'utente e le risorse create dal modello CloudFormation.
Per aprire la console CloudFormation, immetti CloudFormation nella barra di ricerca della console AWS, quindi scegli CloudFormation dai risultati della ricerca.
Nel riquadro CloudFormation, scegli Stacks (Stack). Dall'elenco a discesa degli stati, seleziona Active (Attivo). In Stack name (Nome stack), scegli CFN-SM-IM-Lambda-catalog per aprire la pagina dei dettagli dello stack.
Nella pagina dei dettagli dello stack CFN-SM-IM-Lambda-catalog, scegli Delete (Elimina) per eliminare lo stack insieme alle risorse create nella fase 1.
Conclusioni
Complimenti! Hai terminato il tutorial Generazione di previsioni di machine learning senza scrivere codice.
Hai correttamente utilizzato Amazon SageMaker Canvas per importare e preparare un set di dati per il ML da Amazon S3, selezionare la variabile di destinazione, creare un modello di ML utilizzando la modalità di compilazione rapida e utilizzare l'interfaccia visiva.
Fasi successive
Addestramento di un modello di machine learning
Etichettatura dei dati di addestramento per il machine learning