Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler

I team di data science e data engineering trascorrono una parte significativa del loro tempo nella fase di preparazione dei dati di un ciclo di vita di machine learning (ML) eseguendo fasi di selezione, pulizia e trasformazione dei dati. È un passaggio necessario e importante di qualsiasi flusso di lavoro ML al fine di generare approfondimenti e previsioni significative, poiché dati di scarsa qualità o di scarsa qualità riducono notevolmente la pertinenza degli approfondimenti derivati.

I team di ingegneria dei dati sono tradizionalmente responsabili dell'importazione, del consolidamento e della trasformazione dei dati grezzi per il consumo a valle. I data scientist spesso devono eseguire ulteriori elaborazioni sui dati per casi d'uso di ML specifici del dominio, come il linguaggio naturale e le serie temporali. Ad esempio, alcuni algoritmi ML possono essere sensibili a valori mancanti, funzionalità sparse o valori anomali e richiedere un'attenzione speciale. Anche nei casi in cui il set di dati è in buone condizioni, i data scientist potrebbero voler trasformare le distribuzioni delle funzionalità o creare nuove funzionalità per massimizzare le informazioni ottenute dai modelli. Per raggiungere questi obiettivi, i data scientist devono fare affidamento sui team di ingegneria dei dati per accogliere le modifiche richieste, con conseguente dipendenza e ritardo nel processo di sviluppo del modello. In alternativa, i team di data science possono scegliere di eseguire internamente la preparazione dei dati e l'ingegneria delle funzionalità utilizzando vari paradigmi di programmazione. Tuttavia, richiede un investimento di tempo e fatica nell'installazione e configurazione di librerie e framework, il che non è l'ideale perché quel tempo può essere speso meglio ottimizzando le prestazioni del modello.

Gestore di dati di Amazon SageMaker semplifica la preparazione dei dati e il processo di progettazione delle funzionalità, riducendo il tempo necessario per aggregare e preparare i dati per ML da settimane a minuti fornendo un'unica interfaccia visiva per i data scientist per selezionare, pulire ed esplorare i loro set di dati. Data Wrangler offre oltre 300 trasformazioni di dati integrate per aiutare a normalizzare, trasformare e combinare funzionalità senza scrivere alcun codice. È possibile importare dati da più origini dati, ad esempio Servizio di archiviazione semplice Amazon (Amazon S3), Amazzone Atena, Amazon RedShifte Fiocco di neve. Ora puoi anche usare Databricks come origine dati in Data Wrangler per preparare facilmente i dati per ML.

La piattaforma Databricks Lakehouse combina i migliori elementi di data lake e data warehouse per offrire l'affidabilità, la solida governance e le prestazioni dei data warehouse con l'apertura, la flessibilità e il supporto dell'apprendimento automatico dei data lake. Con Databricks come origine dati per Data Wrangler, ora puoi connetterti rapidamente e facilmente a Databricks, interrogare in modo interattivo i dati archiviati in Databricks utilizzando SQL e visualizzare in anteprima i dati prima dell'importazione. Inoltre, puoi unire i tuoi dati in Databricks con i dati archiviati in Amazon S3 e i dati sottoposti a query tramite Amazon Athena, Amazon Redshift e Snowflake per creare il set di dati giusto per il tuo caso d'uso ML.

In questo post, trasformiamo il set di dati Lending Club Loan utilizzando Amazon SageMaker Data Wrangler per l'utilizzo nel training del modello ML.

Panoramica della soluzione

Il diagramma seguente illustra l'architettura della nostra soluzione.

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il set di dati sui prestiti per club di prestito contiene i dati completi sui prestiti emessi nel periodo 2007–2011, inclusi lo stato attuale del prestito e le ultime informazioni sui pagamenti. Dispone di 39,717 righe, 22 colonne di funzionalità e 3 etichette di destinazione.

Per trasformare i nostri dati utilizzando Data Wrangler, completiamo i seguenti passaggi di alto livello:

  1. Scarica e suddividi il set di dati.
  2. Crea un flusso di Data Wrangler.
  3. Importa dati da Databricks a Data Wrangler.
  4. Importa dati da Amazon S3 a Data Wrangler.
  5. Unisciti ai dati.
  6. Applicare trasformazioni.
  7. Esporta il set di dati.

Prerequisiti

Il post presuppone che tu abbia un cluster Databricks in esecuzione. Se il tuo cluster è in esecuzione su AWS, verifica di aver configurato quanto segue:

Configurazione dei databrick

Segui Proteggi l'accesso ai bucket S3 utilizzando i profili dell'istanza per il necessario Gestione dell'identità e dell'accesso di AWS (IAM), policy del bucket S3 e configurazione del cluster Databricks. Assicurarsi che il cluster Databricks sia configurato con il corretto Instance Profile, selezionato nelle opzioni avanzate, per accedere al bucket S3 desiderato.

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Dopo che il cluster Databricks è attivo e funzionante con l'accesso richiesto ad Amazon S3, puoi recuperare il file JDBC URL dal tuo cluster Databricks per essere utilizzato da Data Wrangler per connettersi ad esso.

Recupera l'URL JDBC

Per recuperare l'URL JDBC, completare i seguenti passaggi:

  1. In Databricks, vai all'interfaccia utente dei cluster.
  2. Scegli il tuo cluster.
  3. Sulla Configurazione scheda, scegliere Opzioni avanzate.
  4. Sotto Opzioni avanzate, scegli il JDB/ODBC scheda.
  5. Copia l'URL JDBC.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Assicurati di sostituire il tuo accesso personale token nell'URL.

Configurazione di Data Wrangler

Questo passaggio presuppone che tu abbia accesso ad Amazon SageMaker, un'istanza di Amazon Sage Maker Studioe un utente di Studio.

Per consentire l'accesso alla connessione Databricks JDBC da Data Wrangler, l'utente Studio richiede la seguente autorizzazione:

  • secretsmanager:PutResourcePolicy

Segui i passaggi seguenti per aggiornare il ruolo di esecuzione IAM assegnato all'utente Studio con l'autorizzazione sopra indicata, come utente amministrativo IAM.

  1. Sulla console IAM, scegli Ruoli nel pannello di navigazione.
  2. Scegli il ruolo assegnato al tuo utente Studio.
  3. Scegli Aggiungi autorizzazioni.
  4. Scegli Crea una politica in linea.
  5. Per Servizio, scegli Segreti Manager.
  6. On Azioniscegli Livello di accesso.
  7. Scegli Gestione dei permessi.
  8. Scegli PutResourcePolicy.
  9. Nel Risorsescegli Specifica e seleziona Qualsiasi in questo account.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Scarica e suddividi il set di dati

Puoi iniziare scaricando il set di dati. A scopo dimostrativo, dividiamo il set di dati copiando le colonne delle funzionalità id, emp_title, emp_length, home_ownere annual_inc per creare un secondo prestiti_2.csv file. Rimuoviamo le suddette colonne dal fascicolo prestiti originale ad eccezione del id colonna e rinomina il file originale in prestiti_1.csv. Carica il prestiti_1.csv file per Databricks per creare una tabella loans_1 ed prestiti_2.csv in un secchio S3.

Crea un flusso di Data Wrangler

Per informazioni sui prerequisiti di Data Wrangler, vedere Inizia con Data Wrangler.

Iniziamo creando un nuovo flusso di dati.

  1. Sulla console di Studio, sul Compila il menù, scegliere New.
  2. Scegli Flusso di Data Wrangler.
  3. Rinominare il flusso come desiderato.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In alternativa, puoi creare un nuovo flusso di dati dal Launcher.

  • Nella console di Studio, scegli Amazon Sage Maker Studio nel pannello di navigazione.
  • Scegli Nuovo flusso di dati.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Il completamento della creazione di un nuovo flusso può richiedere alcuni minuti. Dopo aver creato il flusso, viene visualizzato il file Importa le date .

Importa i dati da Databricks in Data Wrangler

Successivamente, impostiamo Databricks (JDBC) come origine dati in Data Wrangler. Per importare dati da Databricks, dobbiamo prima aggiungere Databricks come origine dati.

  1. Sulla Importa le date scheda del flusso di Data Wrangler, scegli Aggiungi origine dati.
  2. Nel menu a discesa, scegli Databrick (JDBC).
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Sulla Importa dati da Databricks pagina, inserisci i dettagli del tuo cluster.

  1. Nel Nome del set di dati, inserisci un nome che desideri utilizzare nel file di flusso.
  2. Nel Guidatore, scegli il conducente com.simba.spark.jdbc.Driver.
  3. Nel URL JDBC, inserisci l'URL del tuo cluster Databricks ottenuto in precedenza.

L'URL dovrebbe essere simile al seguente formato jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>.

  1. Nell'editor di query SQL, specificare la seguente istruzione SQL SELECT:
    select * from loans_1

Se hai scelto un nome di tabella diverso durante il caricamento dei dati su Databricks, sostituisci di conseguenza loans_1 nella query SQL precedente.

Nel Query SQL sezione in Data Wrangler, è possibile interrogare qualsiasi tabella connessa al database JDBC Databricks. Il preselezionato Abilita campionamento l'impostazione recupera le prime 50,000 righe del set di dati per impostazione predefinita. A seconda delle dimensioni del set di dati, deselezionare Abilita campionamento può comportare tempi di importazione più lunghi.

  1. Scegli Correre.

L'esecuzione della query fornisce un'anteprima del set di dati Databricks direttamente in Data Wrangler.
Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

  1. Scegli Importare.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Data Wrangler offre la flessibilità di configurare più connessioni simultanee a un cluster Databricks o a più cluster, se necessario, consentendo l'analisi e la preparazione su set di dati combinati.

Importa i dati da Amazon S3 in Data Wrangler

Quindi, importiamo il file loan_2.csv file da Amazon S3.

  1. Nella scheda Importa, scegli Amazon S3 come fonte di dati.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  2. Passare al bucket S3 per il loan_2.csv file.

Quando selezioni il file CSV, puoi visualizzare in anteprima i dati.

  1. Nel Dettagli riquadro, scegli Configurazione avanzata assicurarsi Abilita campionamento è selezionato e VIRGOLA è scelto per delimitatore.
  2. Scegli Importare.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Dopo il loans_2.csv il set di dati è stato importato correttamente, l'interfaccia del flusso di dati visualizza sia le origini dati Databricks JDBC che Amazon S3.

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Unisciti ai dati

Ora che abbiamo importato i dati da Databricks e Amazon S3, uniamo i set di dati utilizzando una colonna di identificatore univoco comune.

  1. Sulla Flusso di dati scheda, per Tipi di dati, scegli il segno più per loans_1.
  2. Scegli Registrati.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  3. Scegliere il loans_2.csv file come il La giusta set di dati.
  4. Scegli Configurazione per impostare i criteri di unione.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  5. Nel Nome, inserisci un nome per il join.
  6. Nel Tipo di unionescegli Interno per questo post.
  7. Scegliere il id colonna a cui partecipare.
  8. Scegli APPLICA per visualizzare in anteprima il set di dati unito.
  9. Scegli Aggiungi per aggiungerlo al flusso di dati.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Applicare trasformazioni

Data Wrangler viene fornito con oltre 300 trasformazioni integrate, che non richiedono codifica. Usiamo le trasformazioni integrate per preparare il set di dati.

Colonna di rilascio

Per prima cosa eliminiamo la colonna ID ridondante.

  1. Sul nodo unito, scegli il segno più.
  2. Scegli Aggiungi trasformazione.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  3. Sotto trasforma, scegliere + Aggiungi passaggio.
  4. Scegli Gestisci colonne.
  5. Nel Trasformarescegli Colonna di rilascio.
  6. Nel Colonne da eliminare, scegli la colonna id_0.
  7. Scegli Anteprima.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  8. Scegli Aggiungi.

Stringa di formato

Applichiamo la formattazione delle stringhe per rimuovere il simbolo di percentuale dal file int_rate ed revol_util colonne.

  1. Sulla Dati scheda, sotto Trasformazioniscegli + Aggiungi passaggio.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  2. Scegli Stringa di formato.
  3. Nel Trasformarescegli Elimina i caratteri da destra.

Data Wrangler ti consente di applicare la trasformazione scelta su più colonne contemporaneamente.

  1. Nel Colonne di inputscegli int_rate ed revol_util.
  2. Nel Caratteri da rimuovere, accedere %.
  3. Scegli Anteprima.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  4. Scegli Aggiungi.

Metti in evidenza il testo

Ora vettorizziamo verification_status, una colonna di funzioni di testo. Convertiamo la colonna di testo in vettori di frequenza del documento inversa (TF-IDF) applicando il vettore di conteggio e un tokenizzatore standard come descritto di seguito. Data Wrangler offre anche la possibilità di portare il proprio tokenizer, se lo si desidera.

  1. Sotto Trasformatoriscegli + Aggiungi passaggio.
  2. Scegli Metti in evidenza il testo.
  3. Nel Trasformarescegli Vettorializzare.
  4. Nel Colonne di inputscegli verification_status.
  5. Scegli Anteprima.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  6. Scegli Aggiungi.

Esporta il set di dati

Dopo aver applicato più trasformazioni su diversi tipi di colonne, inclusi testo, categoriale e numerica, siamo pronti per utilizzare il set di dati trasformato per l'addestramento del modello ML. L'ultimo passaggio consiste nell'esportare il set di dati trasformato in Amazon S3. In Data Wrangler, hai più opzioni tra cui scegliere per il consumo a valle delle trasformazioni:

In questo post, sfruttiamo il Esporta dati opzione nel Trasformare view per esportare il set di dati trasformato direttamente in Amazon S3.

  1. Scegli Esporta dati.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  2. Nel Posizione S3scegli Scopri la nostra gamma di prodotti e scegli il tuo secchio S3.
  3. Scegli Esporta dati.
    Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

ripulire

Se il tuo lavoro con Data Wrangler è completo, chiudi la tua istanza di Data Wrangler per evitare di incorrere in costi aggiuntivi.

Conclusione

In questo post, abbiamo spiegato come configurare e collegare in modo rapido e semplice Databricks come origine dati in Data Wrangler, interrogare in modo interattivo i dati archiviati in Databricks utilizzando SQL e visualizzare in anteprima i dati prima dell'importazione. Inoltre, abbiamo esaminato come puoi unire i tuoi dati in Databricks con i dati archiviati in Amazon S3. Abbiamo quindi applicato le trasformazioni dei dati al set di dati combinato per creare una pipeline di preparazione dei dati. Per esplorare altre capacità di analisi di Data Wrangler, inclusa la generazione di report sulla perdita di target e sulla distorsione, fare riferimento al seguente post del blog Accelera la preparazione dei dati utilizzando Amazon SageMaker Data Wrangler per la previsione della riammissione dei pazienti diabetici.

Per iniziare con Data Wrangler, vedere Prepara i dati ML con Amazon SageMaker Data Wranglere visualizzare le informazioni più recenti su Data Wrangler .


Informazioni sugli autori

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Roop Bagni è un Solutions Architect presso AWS che si occupa di AI/ML. È appassionato di aiutare i clienti a innovare e raggiungere i loro obiettivi di business utilizzando Intelligenza Artificiale e Machine Learning. Nel tempo libero, Roop ama leggere e fare escursioni.

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Igor Alekseev è Partner Solution Architect presso AWS in Data and Analytics. Igor collabora con partner strategici aiutandoli a costruire architetture complesse e ottimizzate per AWS. Prima di entrare in AWS, come Data/Solution Architect, ha implementato molti progetti nei Big Data, inclusi diversi data lake nell'ecosistema Hadoop. In qualità di Data Engineer, è stato coinvolto nell'applicazione dell'IA/ML al rilevamento delle frodi e all'automazione dell'ufficio. I progetti di Igor riguardavano una varietà di settori tra cui comunicazioni, finanza, sicurezza pubblica, produzione e assistenza sanitaria. In precedenza, Igor ha lavorato come full stack engineer/tech lead.

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Huong Nguyen è Sr. Product Manager presso AWS. Sta guidando l'esperienza utente per SageMaker Studio. Ha 13 anni di esperienza nella creazione di prodotti ossessionati dai clienti e basati sui dati sia per gli spazi aziendali che per i consumatori. Nel tempo libero le piace leggere, stare nella natura e passare il tempo con la sua famiglia.

Prepara i dati da Databricks per il machine learning utilizzando Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Henry Wang è un ingegnere di sviluppo software presso AWS. Di recente è entrato a far parte del team di Data Wrangler dopo essersi laureato alla UC Davis. Ha un interesse per la scienza dei dati e l'apprendimento automatico e si dedica alla stampa 3D come hobby.

Timestamp:

Di più da Apprendimento automatico di AWS