Accelerare la preparazione dei dati per ML in Amazon SageMaker Canvas

Aumenta la velocità di preparazione dei dati per il Machine Learning su Amazon SageMaker Canvas

La preparazione dei dati è un passaggio cruciale in qualsiasi flusso di lavoro di machine learning (ML), ma spesso comporta attività noiose e che richiedono molto tempo. Amazon SageMaker Canvas supporta ora un’ampia gamma di funzionalità di preparazione dei dati grazie a Amazon SageMaker Data Wrangler. Con questa integrazione, SageMaker Canvas offre ai clienti uno spazio di lavoro completo senza codice per preparare i dati, costruire e utilizzare modelli ML e modelli di base per accelerare il tempo dalla raccolta dei dati alle intuizioni aziendali. Ora è possibile scoprire e aggregare facilmente dati da oltre 50 fonti di dati, esplorare e preparare dati utilizzando oltre 300 analisi e trasformazioni integrate nell’interfaccia visuale di SageMaker Canvas. Vedrai anche una maggiore velocità nelle trasformazioni e analisi, e un’interfaccia in linguaggio naturale per esplorare e trasformare i dati per ML.

In questo post, ti guideremo nel processo per preparare i dati per la costruzione di modelli end-to-end in SageMaker Canvas.

Panoramica della soluzione

Nel nostro caso d’uso, assumiamo il ruolo di un professionista dei dati presso un’azienda di servizi finanziari. Utilizziamo due set di dati di esempio per costruire un modello ML che prevede se un prestito sarà completamente ripagato dal mutuatario, il che è cruciale per la gestione del rischio di credito. L’ambiente senza codice di SageMaker Canvas ci consente di preparare rapidamente i dati, creare caratteristiche, addestrare un modello ML e distribuire il modello in un flusso di lavoro end-to-end, senza la necessità di programmazione.

Requisiti

Per seguire questa guida passo passo, assicurati di aver implementato i requisiti come dettagliato in

  1. Lancia Amazon SageMaker Canvas. Se sei già un utente di SageMaker Canvas, assicurati di effettuare il logout e rieffettuare il login per poter utilizzare questa nuova funzionalità.
  2. Per importare dati da Snowflake, segui i passaggi da Configurazione di OAuth per Snowflake.

Preparazione dei dati interattiva

Con la configurazione completata, ora possiamo creare un flusso di dati per consentire la preparazione interattiva dei dati. Il flusso di dati fornisce trasformazioni integrate e visualizzazioni in tempo reale per manipolare i dati. Completa i seguenti passaggi:

  1. Crea un nuovo flusso di dati utilizzando uno dei seguenti metodi:
    1. Scegli Data Wrangler, Data flows, quindi scegli Crea.
    2. Seleziona il dataset di SageMaker Canvas e scegli Crea un flusso di dati.
  2. Scegli Importa dati e seleziona Tabellare dalla lista a discesa.
  3. Puoi importare direttamente dati tramite oltre 50 connettori dati come Amazon Simple Storage Service (Amazon S3), Amazon Athena, Amazon Redshift, Snowflake e Salesforce. In questa guida passo passo, importeremo i dati direttamente da Snowflake.

In alternativa, puoi caricare lo stesso set di dati dal tuo computer locale. Puoi scaricare il set di dati loans-part-1.csv e loans-part-2.csv.

  1. Dalla pagina di importazione dati, seleziona Snowflake dalla lista e scegli Aggiungi connessione.
  2. Inserisci un nome per la connessione, seleziona l’opzione OAuth dalla lista a discesa del metodo di autenticazione. Inserisci l’ID del tuo account Okta e scegli Aggiungi connessione.
  3. Verrai reindirizzato alla schermata di accesso Okta per inserire le credenziali di Okta per l’autenticazione. In caso di autenticazione riuscita, verrai reindirizzato alla pagina di flusso dati.
  4. Sfoglia per individuare il set di dati sui prestiti dal database Snowflake

Seleziona i due set di dati sui prestiti trascinandoli e rilasciandoli dalla parte sinistra dello schermo verso destra. I due set di dati si collegheranno e apparirà un simbolo di unione con un punto esclamativo rosso. Clicca su di esso, quindi seleziona per entrambi i set di dati la chiave id. Lascia il tipo di unione come Inner. Dovrebbe apparire così:

  1. Scegli Salva e chiudi.
  2. Scegli Crea set di dati. Assegna un nome al set di dati.
  3. Naviga nel flusso dei dati, vedrai quanto segue.
  4. Per esplorare rapidamente i dati sui prestiti, scegli Ottieni informazioni sui dati e seleziona la colonna target loan_status e il tipo di problema Classificazione.

Il generato Data Quality and Insight report fornisce statistiche chiave, visualizzazioni ed analisi sull’importanza delle caratteristiche.

  1. Rivedi gli avvisi sui problemi di qualità dei dati e le classi sbilanciate per comprendere e migliorare il set di dati.

Per il set di dati in questo caso d’uso, dovresti aspettarti un avviso di alta priorità “Punteggio del modello molto basso” e scarsa efficacia del modello sulle classi minoritarie (charged off e current), indicando la necessità di pulire e bilanciare i dati. Fai riferimento alla documentazione di Canvas per saperne di più sul rapporto di analisi dei dati.

Con oltre 300 trasformazioni integrate supportate da SageMaker Data Wrangler, SageMaker Canvas ti permette di elaborare rapidamente i dati sui prestiti. Puoi cliccare su Aggiungi passaggio, e cercare o sfogliare le trasformazioni corrette. Per questo set di dati, utilizza Escludi valori mancanti e Gestisci gli outlier per pulire i dati, quindi applica One-hot encode e Vectorize text per creare le caratteristiche per l’apprendimento automatico.

La chat per la preparazione dei dati è una nuova capacità del linguaggio naturale che permette un’analisi intuitiva dei dati descrivendo le richieste in lingua semplice. Ad esempio, è possibile ottenere statistiche e analisi di correlazione tra le caratteristiche sui dati sui prestiti utilizzando frasi naturali. SageMaker Canvas comprende ed esegue le azioni attraverso interazioni conversazionali, portando la preparazione dei dati ad un livello superiore.

Possiamo utilizzare la chat per la preparazione dei dati e le trasformazioni integrate per bilanciare i dati sui prestiti.

  1. Prima di tutto, inserire le seguenti istruzioni: sostituisci "charged off" e "current" in loan_status con "default"

La chat per la preparazione dei dati genera il codice per unire due classi minoritarie in una sola classe default.

  1. Scegliere la funzione di trasformazione integrata SMOTE per generare dati sintetici per la classe predefinita.

Ora si dispone di una colonna target bilanciata.

  1. Dopo aver pulito e elaborato i dati sui prestiti, rigenerare il rapporto sulla qualità e sulla comprensione dei dati per valutare le migliorie.

L’avviso di alta priorità è scomparso, indicando un’ottimizzazione della qualità dei dati. È possibile aggiungere ulteriori trasformazioni secondo necessità per migliorare la qualità dei dati per l’addestramento del modello.

Scala ed automatizza l’elaborazione dei dati

Per automatizzare la preparazione dei dati, è possibile eseguire o pianificare l’intero flusso di lavoro come un lavoro di elaborazione Spark distribuito per elaborare l’intero set di dati o qualsiasi nuovo set di dati su larga scala.

  1. All’interno del flusso dei dati, aggiungere un nodo di destinazione Amazon S3.
  2. Avviare un lavoro di elaborazione di SageMaker scegliendo Crea lavoro.
  3. Configurare il lavoro di elaborazione e scegliere Crea, consentendo al flusso di eseguire su centinaia di GB di dati senza campionatura.

I flussi di dati possono essere incorporati nelle pipeline end-to-end MLOps per automatizzare il ciclo di vita del machine learning. I flussi di dati possono alimentare i notebook di SageMaker Studio come passaggio di elaborazione dei dati in una pipeline di SageMaker, o per distribuire una pipeline di inferenza di SageMaker. Questo consente di automatizzare il flusso dalla preparazione dei dati all’addestramento e alla distribuzione di SageMaker.

Costruisci e distribuisci il modello in SageMaker Canvas

Dopo la preparazione dei dati, è possibile esportare senza soluzione di continuità il dataset finale in SageMaker Canvas per costruire, addestrare e distribuire un modello di previsione dei pagamenti di prestito.

  1. Scegli Crea modello nell’ultimo nodo del flusso di dati o nel riquadro dei nodi.

In questo modo verrà esportato il dataset e avviato il workflow di creazione guidata del modello.

  1. Assegna un nome al dataset esportato e scegli Esporta.
  2. Scegli Crea modello dalla notifica.
  3. Assegna un nome al modello, seleziona Analisi predittiva e scegli Crea.

In questo modo sarai reindirizzato alla pagina di creazione del modello.

  1. Continua con l’esperienza di creazione del modello di SageMaker Canvas scegliendo la colonna target e il tipo di modello, quindi scegli Creazione rapida o Creazione standard.

Per saperne di più sull’esperienza di creazione del modello, consulta Crea un modello.

Quando il training è completato, puoi utilizzare il modello per prevedere nuovi dati o distribuirlo. Per saperne di più sulla distribuzione di un modello da SageMaker Canvas, consulta Distribuisci modelli ML creati in Amazon SageMaker Canvas su endpoint di esecuzione in tempo reale di Amazon SageMaker.

Conclusioni

In questo articolo, abbiamo dimostrato le capacità end-to-end di SageMaker Canvas, assumendo il ruolo di un professionista dei dati finanziari che prepara dati per prevedere i pagamenti di un prestito, supportato da SageMaker Data Wrangler. La preparazione dei dati interattiva permette di pulire, trasformare e analizzare rapidamente i dati del prestito per creare delle feature informative. Rimuovendo le complessità della codifica, SageMaker Canvas ci consente di iterare rapidamente per creare un dataset di addestramento di alta qualità. Questo workflow accelerato porta direttamente alla costruzione, all’addestramento e alla distribuzione di un modello di ML efficiente per un impatto aziendale. Con la sua completa preparazione dei dati e l’esperienza unificata dai dati alle informazioni, SageMaker Canvas ti permette di migliorare i risultati del tuo ML. Per ulteriori informazioni su come accelerare il tuo percorso dai dati alle informazioni aziendali, consulta SageMaker Canvas immersion day e AWS user guide.