Il machine learning (ML) sta sconvolgendo molti settori a un ritmo senza precedenti. Il settore sanitario e delle scienze della vita (HCLS) ha attraversato una rapida evoluzione negli ultimi anni, abbracciando il ML in una moltitudine di casi d'uso per fornire cure di qualità e migliorare i risultati dei pazienti.
In un tipico ciclo di vita di ML, ingegneri e scienziati dei dati trascorrono la maggior parte del loro tempo nella preparazione dei dati e nelle fasi di progettazione delle funzionalità prima ancora di iniziare con il processo di creazione di modelli e formazione. Avere uno strumento in grado di abbassare la barriera all'ingresso per la preparazione dei dati, migliorando così la produttività, è una richiesta altamente auspicabile per queste persone. Gestore di dati di Amazon SageMaker è stato creato appositamente da AWS per ridurre la curva di apprendimento e consentire ai professionisti dei dati di eseguire la preparazione dei dati, la pulizia e le attività di progettazione delle funzionalità in meno tempo e fatica. Offre un'interfaccia GUI con molte funzioni integrate e integrazioni con altri servizi AWS come Servizio di archiviazione semplice Amazon (Amazon S3) e Negozio di funzionalità Amazon SageMaker, nonché le origini dati dei partner, tra cui Snowflake e Databricks.
In questo post, dimostriamo come utilizzare Data Wrangler per preparare i dati sanitari per addestrare un modello per prevedere lo scompenso cardiaco, dati i dati demografici di un paziente, le condizioni mediche precedenti e la cronologia dei risultati dei test di laboratorio.
Panoramica della soluzione
La soluzione consiste nei seguenti passaggi:
- Acquisire un set di dati sanitari come input per Data Wrangler.
- Utilizza le funzioni di trasformazione integrate di Data Wrangler per trasformare il set di dati. Ciò include colonne di rilascio, funzionalità di dati/ora, unire set di dati, imputare valori mancanti, codificare variabili categoriali, ridimensionare valori numerici, bilanciare il set di dati e altro ancora.
- Usa la funzione di trasformazione personalizzata di Data Wrangler (codice Pandas o PySpark) per integrare le trasformazioni aggiuntive richieste oltre alle trasformazioni integrate e dimostrare l'estendibilità di Data Wrangler. Ciò include righe di filtro, dati di gruppo, creazione di nuovi frame di dati in base alle condizioni e altro ancora.
- Utilizza le funzioni di visualizzazione integrate di Data Wrangler per eseguire analisi visive. Ciò include la perdita del target, la correlazione delle funzionalità, il modello rapido e altro ancora.
- Utilizza le opzioni di esportazione integrate di Data Wrangler per esportare il set di dati trasformato in Amazon S3.
- Avvia un notebook Jupyter per utilizzare il set di dati trasformato in Amazon S3 come input per addestrare un modello.
Genera un set di dati
Ora che abbiamo stabilito la dichiarazione del problema ML, per prima cosa ci siamo concentrati sull'acquisizione dei dati di cui abbiamo bisogno. Studi di ricerca come Previsione di insufficienza cardiaca può fornire dati che sono già in buone condizioni. Tuttavia, incontriamo spesso scenari in cui i dati sono piuttosto disordinati e richiedono l'unione, la pulizia e molte altre trasformazioni che sono molto specifiche del dominio sanitario prima che possano essere utilizzati per la formazione ML. Vogliamo trovare o generare dati abbastanza disordinati e guidarti attraverso i passaggi per prepararli utilizzando Data Wrangler. Con questo in mente, abbiamo scelto Synthea come strumento per generare dati sintetici che si adattano al nostro obiettivo. Sintea è un generatore di pazienti sintetici open source che modella la storia medica dei pazienti sintetici. Per generare il tuo set di dati, completa i seguenti passaggi:
- Seguire le istruzioni di cui al avvio rapido documentazione per creare un Amazon Sage Maker Studio dominio e avviare Studio.
Questo è un passaggio prerequisito. È facoltativo se Studio è già configurato nel tuo account. - Dopo il lancio di Studio, il Launcher scheda, scegliere Terminale di sistema.
Questo avvia una sessione terminale che ti offre un'interfaccia a riga di comando con cui lavorare. - Per installare Synthea e generare il set di dati in formato CSV, eseguire i seguenti comandi nella sessione del terminale avviata:
Forniamo un parametro per generare i set di dati con una dimensione della popolazione di 10,000. Si noti che il parametro size indica il numero di membri vivi della popolazione. Inoltre, Synthea genera anche dati per i membri morti della popolazione che potrebbero aggiungere alcuni punti dati extra oltre alla dimensione del campione specificata.
Attendi fino al completamento della generazione dei dati. Questo passaggio richiede solitamente circa un'ora o meno. Synthea genera più set di dati, inclusi patients
, medications
, allergies
, conditions
, e altro ancora. Per questo post, utilizziamo tre dei set di dati risultanti:
- pazienti.csv – Questo set di dati è di circa 3.2 MB e contiene circa 11,000 righe di dati del paziente (25 colonne tra cui ID paziente, data di nascita, sesso, indirizzo e altro)
- condizioni.csv – Questo set di dati è di circa 47 MB e contiene circa 370,000 righe di dati sulle condizioni mediche (sei colonne che includono ID paziente, data di inizio della condizione, codice della condizione e altro)
- osservazioni.csv – Questo set di dati è di circa 830 MB e contiene circa 5 milioni di righe di dati di osservazione (otto colonne tra cui ID paziente, data di osservazione, codice di osservazione, valore e altro)
C'è una relazione uno-a-molti tra il patients
ed conditions
set di dati. C'è anche una relazione uno-a-molti tra il patients
ed observations
set di dati. Per un dizionario dei dati dettagliato, fare riferimento a Dizionario dati file CSV.
- Per caricare i set di dati generati in un bucket di origine in Amazon S3, esegui i seguenti comandi nella sessione del terminale:
Avvia Data Wrangler
Scegli Risorse di SageMaker nella pagina di navigazione in Studio e sul Progetti menù, scegliere Wrangler di dati per creare un flusso di dati di Data Wrangler. Per i passaggi dettagliati su come avviare Data Wrangler da Studio, fare riferimento a Inizia con Data Wrangler.
Importa le date
Per importare i tuoi dati, completa i seguenti passaggi:
- Scegli Amazon S3 e individuare il file Patients.csv nel bucket S3.
- Nel Dettagli riquadro, scegli Primo K per Campionamento.
- entrare
1100
per Misura di prova.
Nel riquadro di anteprima, Data Wrangler estrae le prime 100 righe dal set di dati e le elenca come anteprima. - Scegli Importare.
Data Wrangler seleziona i primi 1,100 pazienti dal totale dei pazienti (11,000 righe) generati da Synthea e importa i dati. L'approccio di campionamento consente a Data Wrangler di elaborare solo i dati di esempio. Ci consente di sviluppare il nostro flusso di dati con un set di dati più piccolo, il che si traduce in un'elaborazione più rapida e un ciclo di feedback più breve. Dopo aver creato il flusso di dati, possiamo inviare la ricetta sviluppata a a elaborazione SageMaker lavoro per scalare orizzontalmente l'elaborazione per il set di dati completo o più grande in modo distribuito. - Ripetere questo processo per il
conditions
edobservations
set di dati.- Per la
conditions
set di dati, entrare37000
per Misura di prova, che è 1/10 delle 370,000 righe totali generate da Synthea. - Per la
observations
set di dati, entrare500000
per Misura di prova, che è 1/10 delle osservazioni totali 5 milioni di righe generate da Synthea.
- Per la
Dovresti vedere tre set di dati come mostrato nello screenshot seguente.
Trasforma i dati
La trasformazione dei dati è il processo di modifica della struttura, del valore o del formato di una o più colonne nel set di dati. Il processo è solitamente sviluppato da un ingegnere dei dati e può essere difficile per le persone con un set di competenze di ingegneria dei dati più piccolo decifrare la logica proposta per la trasformazione. La trasformazione dei dati fa parte del più ampio processo di progettazione delle funzionalità e la corretta sequenza di passaggi è un altro criterio importante da tenere a mente durante l'elaborazione di tali ricette.
Data Wrangler è progettato per essere uno strumento low-code per ridurre la barriera di ingresso per un'efficace preparazione dei dati. Viene fornito con oltre 300 trasformazioni di dati preconfigurate tra cui scegliere senza scrivere una singola riga di codice. Nelle sezioni seguenti, vediamo come trasformare i set di dati importati in Data Wrangler.
Elimina colonne in Patients.csv
Per prima cosa eliminiamo alcune colonne da patients
set di dati. L'eliminazione delle colonne ridondanti rimuove le informazioni non rilevanti dal set di dati e ci aiuta a ridurre la quantità di risorse di elaborazione necessarie per elaborare il set di dati e addestrare un modello. In questa sezione, eliminiamo colonne come SSN o numero di passaporto in base al buon senso che queste colonne non hanno valore predittivo. In altre parole, non aiutano il nostro modello a prevedere l'insufficienza cardiaca. Il nostro studio non si occupa nemmeno di altre colonne come il luogo di nascita o l'influenza delle spese sanitarie sull'insufficienza cardiaca di un paziente, quindi le lasciamo cadere. Le colonne ridondanti possono anche essere identificate eseguendo le analisi integrate come la dispersione del target, la correlazione delle caratteristiche, la multicollinearità e altro, che sono integrate in Data Wrangler. Per maggiori dettagli sui tipi di analisi supportati, fare riferimento a Analizza e Visualizza. Inoltre, puoi utilizzare il Rapporto sulla qualità dei dati e sugli approfondimenti per eseguire analisi automatizzate sui set di dati per arrivare a un elenco di colonne ridondanti da eliminare.
- Scegli il segno più accanto a Tipi di dati per il set di dati Patients.csv e scegliere Aggiungi trasformazione.
- Scegli Aggiungi passaggio e scegli Gestisci colonne.
- Nel Trasformare¸ scegli Colonna di rilascio.
- Nel Colonne da eliminare, scegli le seguenti colonne:
SSN
DRIVERS
PASSPORT
PREFIX
FIRST
LAST
SUFFIX
MAIDEN
RACE
ETHNICITY
BIRTHPLACE
ADDRESS
CITY
STATE
COUNTY
ZIP
LAT
LON
HEALTHCARE_EXPENSES
HEALTHCARE_COVERAGE
- Scegli Anteprima per rivedere il set di dati trasformato, quindi scegliere Aggiungi.
Dovresti vedere il passaggio Colonna di rilascio nell'elenco delle trasformazioni.
Presenta data/ora in Patients.csv
Ora utilizziamo la funzione Metti in evidenza data/ora per generare la nuova funzionalità Year
dal BIRTHDATE
colonna nel patients
set di dati. Utilizziamo la nuova funzionalità in un passaggio successivo per calcolare l'età di un paziente al momento dell'osservazione.
- Nel Trasformazioni riquadro del tuo Colonna di rilascio pagina per il
patients
set di dati, scegli Aggiungi passaggio. - Scegliere il Metti in evidenza data/ora trasformare.
- Scegli Estrai colonne.
- Nel Colonne di input, aggiungi la colonna
BIRTHDATE
. - Seleziona Anno e deseleziona Mese, Giorni, ora, Minuto, Seconda.
- Scegli Anteprima, Quindi scegliere Aggiungi.
Aggiungi trasformazioni in osservazioni.csv
Data Wrangler supporta trasformazioni personalizzate utilizzando Python (funzioni definite dall'utente), PySpark, Pandas o PySpark (SQL). Puoi scegliere il tipo di trasformazione in base alla tua familiarità con ciascuna opzione e preferenza. Per le ultime tre opzioni, Data Wrangler espone la variabile df
per accedere al dataframe e applicare trasformazioni su di esso. Per una spiegazione dettagliata ed esempi, fare riferimento a Trasformazioni personalizzate. In questa sezione, aggiungiamo tre trasformazioni personalizzate al file observations
set di dati.
- Aggiungi una trasformazione a osservazioni.csv e rilascia il file
DESCRIPTION
colonna. - Scegli Anteprima, Quindi scegliere Aggiungi.
- Nel Trasformazioni riquadro, scegli Aggiungi passaggio e scegli Trasformazione personalizzata.
- Nel menu a discesa, scegli Python (Panda).
- Inserisci il seguente codice:
Questi sono codici LONIC che corrispondono alle seguenti osservazioni che ci interessa utilizzare come caratteristiche per prevedere l'insufficienza cardiaca:
- Scegli Anteprima, Quindi scegliere Aggiungi.
- Aggiungi una trasformazione per estrarre
Year
edQuarter
dalDATE
colonna. - Scegli Anteprima, Quindi scegliere Aggiungi.
- Scegli Aggiungi passaggio e scegli Trasformazione personalizzata.
- Nel menu a discesa, scegli Pitone (PySpark).
I cinque tipi di osservazioni potrebbero non essere registrati sempre nella stessa data. Ad esempio, un paziente può visitare il proprio medico di famiglia il 21 gennaio e farsi misurare e registrare la pressione sistolica, la pressione diastolica, la frequenza cardiaca e l'indice di massa corporea. Tuttavia, un test di laboratorio che includa le piastrine potrebbe essere eseguito in un secondo momento, il 2 febbraio. Pertanto, non è sempre possibile unire i frame di dati entro la data di osservazione. Qui uniamo i frame di dati con una granularità grossolana su base trimestrale. - Inserisci il seguente codice:
- Scegli Anteprima, Quindi scegliere Aggiungi.
- Scegli Aggiungi passaggio, Quindi scegliere Gestisci le righe.
- Nel Trasformarescegli Elimina duplicati.
- Scegli Anteprima, Quindi scegliere Aggiungi.
- Scegli Aggiungi passaggio e scegli Trasformazione personalizzata.
- Nel menu a discesa, scegli Python (Panda).
- Immettere il codice seguente per ottenere una media di punti dati che condividono lo stesso valore temporale:
- Scegli Anteprima, Quindi scegliere Aggiungi.
Unisciti apatients.csv e osservazioni.csv
In questo passaggio, mostriamo come eseguire in modo efficace e semplice join complessi su set di dati senza scrivere codice tramite la potente interfaccia utente di Data Wrangler. Per ulteriori informazioni sui tipi di join supportati, fare riferimento a Trasforma i dati.
- Alla destra Trasforma: pazienti.csv, scegli il segno più accanto a Passi e scegli Registrati.
Puoi vedere il file Patients.csv trasformato elencato sotto Dataset nel riquadro di sinistra. - Alla destra Trasforma: osservazioni.csv, Fare clic sul Passi per avviare l'operazione di unione.
Il file di osservazioni.csv trasformato è ora elencato sotto Dataset nel riquadro di sinistra. - Scegli Configurazione.
- Nel Tipo di unionescegli Interno.
- Nel sinistrascegli Id.
- Nel La giustascegli paziente.
- Scegli Anteprima, Quindi scegliere Aggiungi.
Aggiungi una trasformazione personalizzata ai set di dati uniti
In questo passaggio, calcoliamo l'età di un paziente al momento dell'osservazione. Eliminiamo anche le colonne che non sono più necessarie.
- Scegli il segno più accanto a 1a adesione e scegli Aggiungi trasformazione.
- Aggiungi una trasformazione personalizzata in Panda:
- Scegli Anteprima, Quindi scegliere Aggiungi.
Aggiungi trasformazioni personalizzate a condition.csv
- Scegli il segno più accanto a Trasforma: condition.csv e scegli Aggiungi trasformazione.
- Aggiungi una trasformazione personalizzata in Panda:
Nota: Come dimostrato in precedenza, puoi eliminare le colonne utilizzando il codice personalizzato o utilizzando le trasformazioni integrate fornite da Data Wrangler. Le trasformazioni personalizzate all'interno di Data Wrangler offrono la flessibilità di portare la propria logica di trasformazione sotto forma di frammenti di codice nei framework supportati. Questi frammenti possono essere successivamente ricercati e applicati, se necessario.
I codici nella trasformazione precedente sono codici SNOMED-CT che corrispondono alle seguenti condizioni. Il heart failure
or chronic congestive heart failure
condizione diventa l'etichetta. Usiamo le condizioni rimanenti come caratteristiche per prevedere l'insufficienza cardiaca. Eliminiamo anche alcune colonne che non sono più necessarie.
- Successivamente, aggiungiamo una trasformazione personalizzata in PySpark:
Eseguiamo un join esterno sinistro per mantenere tutte le voci nel dataframe dell'insufficienza cardiaca. Una nuova colonna
has_xxx
viene calcolato per ogni condizione diversa dall'insufficienza cardiaca in base alla data di inizio della condizione. Siamo interessati solo alle condizioni mediche che sono state registrate prima dell'insufficienza cardiaca e le usiamo come caratteristiche per prevedere l'insufficienza cardiaca. - Aggiungi un built-in Gestisci colonne trasforma per eliminare le colonne ridondanti che non sono più necessarie:
hypertension
diabetes
coronary
smoke
atrial
- Estratto
Year
edQuarter
dalheartfailure
colonna.
Questo corrisponde alla granularità che abbiamo usato in precedenza nella trasformazione diobservations
set di dati. - Dovremmo avere un totale di 6 passaggi per condition.csv.
Unisci condition.csv al set di dati unito
Ora eseguiamo un nuovo join per unire il dataset delle condizioni al join patients
ed observations
set di dati.
- Scegli Trasforma: 1a unione.
- Scegli il segno più e scegli Registrati.
- Scegli Passi accanto a Trasforma: condition.csv.
- Scegli Configurazione.
- Nel Tipo di unionescegli Esterno sinistro.
- Nel sinistrascegli Id.
- Nel La giustascegli paziente.
- Scegli Anteprima, Quindi scegliere Aggiungi.
Aggiungi trasformazioni ai set di dati uniti
Ora che abbiamo unito tutti e tre i set di dati, applichiamo alcune trasformazioni aggiuntive.
- Aggiungi la seguente trasformazione personalizzata in PySpark così
has_heartfailure
diventa la nostra colonna etichetta: - Aggiungi la seguente trasformazione personalizzata in PySpark:
- Elimina le colonne ridondanti che non sono più necessarie:
Id
DATE_year
DATE_quarter
patient
heartfailure
heartfailure_year
heartfailure_quarter
- Sulla Analisi scheda, per Tipo di analisi¸ scegli Riepilogo tabella.
Una rapida scansione del riepilogo mostra che ilMARITAL
la colonna ha dati mancanti. - Scegliere il Dati scheda e aggiungi un passaggio.
- Scegli Maniglia mancante.
- Nel Trasformarescegli Riempimento mancante.
- Nel Colonne di inputscegli CIVILE.
- Nel Valore di riempimento, accedere
S
.
La nostra strategia qui è presumere che il paziente sia single se lo stato civile ha un valore mancante. Puoi avere una strategia diversa. - Scegli Anteprima, Quindi scegliere Aggiungi.
- Riempi il valore mancante come 0 per
has_hypertension
,has_diabetes
,has_coronary
,has_smoke
,has_atrial
.
Marital
ed Gender
sono variabili categoriali. Data Wrangler ha una funzione incorporata per codificare variabili categoriali.
- Aggiungi un passaggio e scegli Codifica categoriale.
- Nel Trasformarescegli Codifica a caldo.
- Nel Colonne di inputscegli CIVILE.
- Nel Stile di outputscegli Colonna.
Questo stile di output produce valori codificati in colonne separate. - Scegli Anteprima, Quindi scegliere Aggiungi.
- Ripetere questi passaggi per il Sesso colonna.
La codifica one-hot divide la colonna coniugale in Marital_M
(sposato) e Marital_S
(singolo) e divide la colonna Sesso in Gender_M
(maschio) e Gender_F
(femmina). Perché Marital_M
ed Marital_S
si escludono a vicenda (come lo sono Gender_M
ed Gender_F
), possiamo eliminare una colonna per evitare funzionalità ridondanti.
- Cadere
Marital_S
edGender_F
.
Le caratteristiche numeriche come sistolica, frequenza cardiaca ed età hanno standard di unità diversi. Per un modello basato sulla regressione lineare, dobbiamo prima normalizzare queste caratteristiche numeriche. In caso contrario, alcune funzionalità con valori assoluti più elevati potrebbero avere un vantaggio ingiustificato rispetto ad altre funzionalità con valori assoluti inferiori e risultare in scarse prestazioni del modello. Data Wrangler ha lo scaler Min-max di trasformazione integrato per normalizzare i dati. Per un modello di classificazione basato sull'albero decisionale, la normalizzazione non è richiesta. Il nostro studio è un problema di classificazione, quindi non è necessario applicare la normalizzazione. Le classi sbilanciate sono un problema comune nella classificazione. Lo squilibrio si verifica quando il set di dati di addestramento contiene una distribuzione di classi fortemente distorta. Ad esempio, quando il nostro set di dati contiene un numero sproporzionato di pazienti senza insufficienza cardiaca rispetto ai pazienti con insufficienza cardiaca, il modello può essere distorto verso la previsione dell'assenza di insufficienza cardiaca e prestazioni scadenti. Data Wrangler ha una funzione integrata per affrontare il problema.
- Aggiungi una trasformazione personalizzata in Pandas per convertire il tipo di dati delle colonne dal tipo "oggetto" al tipo numerico:
- Scegliere il Analisi scheda.
- Nel Tipo di analisi¸ scegli Istogramma.
- Nel Asse Xscegli ha_insufficienza cardiaca.
- Scegli Anteprima.
È ovvio che abbiamo una classe sbilanciata (più punti dati etichettati come senza insufficienza cardiaca rispetto ai punti dati etichettati come insufficienza cardiaca). - Torna al Dati tab. Scegliere Aggiungi passaggio e scegli Dati di equilibrio.
- Nel Colonna di destinazionescegli ha_insufficienza cardiaca.
- Nel Rapporto desiderato, accedere
1
. - Nel Trasformarescegli percossero.
SMOTE è l'acronimo di Synthetic Minority Over-sampling Technique. È una tecnica per creare nuove istanze di minoranza e aggiungerle al set di dati per raggiungere l'equilibrio di classe. Per informazioni dettagliate, fare riferimento a SMOTE: Tecnica di sovracampionamento di minoranza sintetica. - Scegli Anteprima, Quindi scegliere Aggiungi.
- Ripetere l'analisi dell'istogramma nel passaggio 20-23. Il risultato è una classe equilibrata.
Visualizza la perdita del target e la correlazione delle funzioni
Successivamente, eseguiremo alcune analisi visive utilizzando il ricco set di strumenti di Data Wrangler di tipi di analisi avanzati supportati da ML. Per prima cosa, esaminiamo la perdita target. La perdita di destinazione si verifica quando i dati nel set di dati di addestramento sono fortemente correlati all'etichetta di destinazione, ma non sono disponibili nei dati del mondo reale al momento dell'inferenza.
- Sulla Scheda Analisi, Per Tipo di analisi¸ scegli Perdita di destinazione.
- Nel Tipo di problemascegli classificazione.
- Nel Targetscegli ha_insufficienza cardiaca.
- Scegli Anteprima.
Sulla base dell'analisi,hr
è una perdita di destinazione. Lo rilasceremo in un passaggio successivo.age
è contrassegnato come una perdita target. È ragionevole affermare che l'età di un paziente sarà disponibile durante il tempo di inferenza, quindi manteniamo l'età come caratteristica.Systolic
eddiastolic
sono anche contrassegnati come probabili perdite target. Ci aspettiamo di avere le due misurazioni durante il tempo di inferenza, quindi le manteniamo come caratteristiche. - Scegli Aggiungi per aggiungere l'analisi.
Quindi, esaminiamo la correlazione delle caratteristiche. Vogliamo selezionare le caratteristiche che sono correlate con l'obiettivo ma non sono correlate tra loro.
- Sulla Scheda Analisi, Per Tipo di analisi¸ scegli Correlazione delle caratteristiche.
- Nel Tipo di correlazione¸ scegli lineare.
- Scegli Anteprima.
I punteggi dei coefficienti indicano forti correlazioni tra le seguenti coppie:
systolic
eddiastolic
bmi
edage
has_hypertension
edhas_heartfailure
(etichetta)
Per le caratteristiche fortemente correlate, le matrici sono computazionalmente difficili da invertire, il che può portare a stime numericamente instabili. Per mitigare la correlazione, possiamo semplicemente rimuoverne uno dalla coppia. Cadiamo diastolic
ed bmi
e mantenere systolic
ed age
in un passaggio successivo.
Drop colonne diastoliche e bmi
Aggiungi ulteriori passaggi di trasformazione per eliminare il file hr
, diastolic
ed bmi
colonne utilizzando la trasformazione incorporata.
Genera il rapporto sulla qualità dei dati e sugli approfondimenti
AWS di recente ha annunciato la nuova funzione Data Quality and Insights Report in Data Wrangler. Questo rapporto verifica automaticamente la qualità dei dati e rileva le anomalie nei tuoi dati. I data scientist e gli ingegneri dei dati possono utilizzare questo strumento per applicare in modo efficiente e rapido le conoscenze di dominio per elaborare i set di dati per l'addestramento del modello ML. Questo passaggio è facoltativo. Per generare questo rapporto sui nostri set di dati, completa i seguenti passaggi:
- Sulla Analisi scheda, per Tipo di analisiscegli Rapporto sulla qualità dei dati e sugli approfondimenti.
- Nel Colonna di destinazionescegli ha_insufficienza cardiaca.
- Nel Tipo di problema, selezionare Classificazione.
- Scegli Creare.
In pochi minuti genera un report con un riepilogo, elementi visivi e consigli.
Genera un'analisi del modello rapido
Abbiamo completato la preparazione dei dati, la pulizia e la progettazione delle funzionalità. Data Wrangler ha una funzione integrata che fornisce una stima approssimativa della qualità prevista prevista e del potere predittivo delle funzionalità nel nostro set di dati.
- Sulla Analisi scheda, per Tipo di analisi¸ scegli Modello veloce.
- Nel Discograficascegli ha_insufficienza cardiaca.
- Scegli Anteprima.
Secondo la nostra analisi del modello rapido, possiamo vedere la funzione has_hypertension
ha il punteggio di importanza della caratteristica più alto tra tutte le caratteristiche.
Esporta i dati e addestra il modello
Ora esportiamo le funzionalità trasformate pronte per il ML in un bucket S3 di destinazione e ridimensioniamo l'intera pipeline di progettazione delle funzionalità che abbiamo creato finora utilizzando i campioni nell'intero set di dati in modo distribuito.
- Scegli il segno più accanto all'ultima casella nel flusso di dati e scegli Aggiungi destinazione.
- Scegli Amazon S3.
- Entrare in un Nome del set di dati. For Posizione Amazon S3, scegli un bucket S3, quindi scegli Aggiungi destinazione.
- Scegli Crea lavoro per avviare un processo di elaborazione PySpark distribuito per eseguire la trasformazione e inviare i dati al bucket S3 di destinazione.
A seconda delle dimensioni dei set di dati, questa opzione ci consente di configurare facilmente il cluster e di ridimensionarlo orizzontalmente senza codice. Non dobbiamo preoccuparci di partizionare i set di dati o di gestire il cluster e gli interni di Spark. Tutto questo viene automaticamente curato per noi da Data Wrangler. - Nel riquadro di sinistra, scegli Quindi, 2. Configura il lavoro.
- Quindi scegli Correre.
In alternativa, possiamo anche esportare l'output trasformato in S3 tramite un notebook Jupyter. Con questo approccio, Data Wrangler genera automaticamente un notebook Jupyter con tutto il codice necessario per avviare un processo di elaborazione per applicare i passaggi del flusso di dati (creati utilizzando un campione) sul set di dati completo più ampio e utilizzare il set di dati trasformato come funzionalità per avviare dopo un lavoro di formazione. Il codice del notebook può essere eseguito facilmente con o senza apportare modifiche. Esaminiamo ora i passaggi su come farlo tramite l'interfaccia utente di Data Wrangler.
- Scegli il segno più accanto all'ultimo passaggio nel flusso di dati e scegli Esporta a.
- Scegli Amazon S3 (tramite Jupyter Notebook).
- Apre automaticamente una nuova scheda con un taccuino Jupyter.
- Nel taccuino di Jupyter, individua la cella nel file (Facoltativo) Passaggi successivi sezione e modifica
run_optional_steps
daFalse
aTrue
.
I passaggi facoltativi abilitati nel notebook eseguono quanto segue: - Torna all'inizio del taccuino e sul Correre menù, scegliere Esegui tutte le celle.
Se utilizzi il notebook generato così com'è, avvia un processo di elaborazione SageMaker che scala l'elaborazione su due istanze m5.4xlarge per elaborare l'intero set di dati sul bucket S3. Puoi regolare il numero di istanze e i tipi di istanze in base alle dimensioni del set di dati e al tempo necessario per completare il lavoro.
Attendi fino al completamento del lavoro di addestramento dall'ultima cella. Genera un modello nel bucket S3 predefinito di SageMaker.
Il modello addestrato è pronto per la distribuzione per l'inferenza in tempo reale o la trasformazione batch. Si noti che abbiamo utilizzato dati sintetici per dimostrare le funzionalità in Data Wrangler e utilizzato i dati elaborati per il modello di addestramento. Dato che i dati che abbiamo utilizzato sono sintetici, il risultato dell'inferenza dal modello addestrato non è inteso per la diagnosi di condizioni mediche nel mondo reale o per la sostituzione del giudizio da parte dei medici.
Puoi anche esportare direttamente il tuo set di dati trasformato in Amazon S3 scegliendo Esportare nella parte superiore della pagina di anteprima della trasformazione. L'opzione di esportazione diretta esporta il campione trasformato solo se il campionamento è stato abilitato durante l'importazione. Questa opzione è più adatta se hai a che fare con set di dati più piccoli. I dati trasformati possono anche essere inseriti direttamente in un feature store. Per ulteriori informazioni, fare riferimento a Negozio di funzionalità Amazon SageMaker. Il flusso di dati può anche essere esportato come una pipeline SageMaker che può essere orchestrata e pianificata in base alle proprie esigenze. Per ulteriori informazioni, vedere Pipeline di Amazon SageMaker.
Conclusione
In questo post, abbiamo mostrato come utilizzare Data Wrangler per elaborare i dati sanitari ed eseguire l'ingegneria delle funzionalità scalabili in un modo low-code basato su strumenti. Abbiamo imparato come applicare le trasformazioni e le analisi integrate in modo appropriato ovunque necessario, combinandole con trasformazioni personalizzate per aggiungere ancora più flessibilità al nostro flusso di lavoro di preparazione dei dati. Abbiamo anche esaminato le diverse opzioni per la scalabilità orizzontale della ricetta del flusso di dati tramite processi di elaborazione distribuiti. Abbiamo anche appreso come i dati trasformati possono essere facilmente utilizzati per addestrare un modello per prevedere l'insufficienza cardiaca.
Ci sono molte altre funzionalità in Data Wrangler che non abbiamo trattato in questo post. Esplora cosa è possibile fare Prepara i dati ML con Amazon SageMaker Data Wrangler e scopri come sfruttare Data Wrangler per il tuo prossimo progetto di data science o machine learning.
Informazioni sugli autori
Sole della foresta è un Senior Solution Architect con il team del settore pubblico di AWS a Toronto, in Canada. Ha lavorato nel settore sanitario e finanziario negli ultimi due decenni. Al di fuori del lavoro, gli piace andare in campeggio con la sua famiglia.
Arunprasath Shankar è uno specialista in Solutions Architect di intelligenza artificiale e apprendimento automatico (AI / ML) con AWS, che aiuta i clienti globali a scalare le loro soluzioni di intelligenza artificiale in modo efficace ed efficiente nel cloud. Nel suo tempo libero, Arun ama guardare film di fantascienza e ascoltare musica classica.
- AI
- oh arte
- generatore d'arte
- un robot
- Amazon Sage Maker
- Gestore di dati di Amazon SageMaker
- intelligenza artificiale
- certificazione di intelligenza artificiale
- intelligenza artificiale nel settore bancario
- robot di intelligenza artificiale
- robot di intelligenza artificiale
- software di intelligenza artificiale
- Apprendimento automatico di AWS
- blockchain
- conferenza blockchain ai
- geniale
- intelligenza artificiale conversazionale
- criptoconferenza ai
- dall's
- apprendimento profondo
- google ai
- machine learning
- Platone
- platone ai
- Platone Data Intelligence
- Gioco di Platone
- PlatoneDati
- gioco di plato
- scala ai
- sintassi
- zefiro