Maskininlärning (ML) stör många branscher i en aldrig tidigare skådad takt. Sjukvårds- och livsvetenskapsindustrin (HCLS) har genomgått en snabb utveckling de senaste åren och omfattar ML i en mängd användningsfall för att leverera kvalitetsvård och förbättra patientresultaten.
I en typisk ML-livscykel spenderar dataingenjörer och forskare större delen av sin tid på dataförberedelser och funktionstekniska steg innan de ens kommer igång med processen med modellbyggande och utbildning. Att ha ett verktyg som kan sänka inträdesbarriären för databeredning och därigenom förbättra produktiviteten är en mycket önskvärd fråga för dessa personas. Amazon SageMaker Data Wrangler är specialbyggd av AWS för att minska inlärningskurvan och göra det möjligt för datapraktiker att utföra dataförberedelser, rengöring och funktionstekniska uppgifter på mindre ansträngning och tid. Den erbjuder ett GUI-gränssnitt med många inbyggda funktioner och integrationer med andra AWS-tjänster som t.ex Amazon enkel lagringstjänst (Amazon S3) och Amazon SageMaker Feature Store, såväl som partnerdatakällor inklusive Snowflake och Databricks.
I det här inlägget visar vi hur man använder Data Wrangler för att förbereda sjukvårdsdata för att träna en modell för att förutsäga hjärtsvikt, med tanke på en patients demografi, tidigare medicinska tillstånd och labbtestresultat.
Lösningsöversikt
Lösningen består av följande steg:
- Skaffa en vårddatauppsättning som indata till Data Wrangler.
- Använd Data Wranglers inbyggda transformationsfunktioner för att transformera datamängden. Detta inkluderar släpp kolumner, presentera data/tid, sammanfoga datauppsättningar, imputera saknade värden, koda kategoriska variabler, skala numeriska värden, balansera datauppsättningen och mer.
- Använd Data Wranglers anpassade transformeringsfunktion (Pandas eller PySpark-kod) för att komplettera ytterligare transformationer som krävs utöver de inbyggda transformationerna och demonstrera utbyggbarheten av Data Wrangler. Detta inkluderar filterrader, gruppdata, bildar nya dataramar baserat på villkor och mer.
- Använd Data Wranglers inbyggda visualiseringsfunktioner för att utföra visuell analys. Detta inkluderar målläckage, funktionskorrelation, snabbmodell och mer.
- Använd Data Wranglers inbyggda exportalternativ för att exportera den transformerade datamängden till Amazon S3.
- Starta en Jupyter-anteckningsbok för att använda den transformerade datamängden i Amazon S3 som indata för att träna en modell.
Skapa en datauppsättning
Nu när vi har bestämt oss för ML-problemformuleringen siktar vi först på att skaffa den data vi behöver. Forskningsstudier som t.ex Förutsägelse av hjärtsvikt kan ge data som redan är i gott skick. Däremot stöter vi ofta på scenarier där data är ganska rörig och kräver sammanfogning, rensning och flera andra transformationer som är mycket specifika för sjukvårdsdomänen innan den kan användas för ML-träning. Vi vill hitta eller generera data som är tillräckligt kladdig och leda dig genom stegen för att förbereda den med Data Wrangler. Med det i åtanke valde vi Synthea som ett verktyg för att generera syntetisk data som passar vårt mål. Synthea är en syntetisk patientgenerator med öppen källkod som modellerar den medicinska historien för syntetiska patienter. Utför följande steg för att generera din datauppsättning:
- Följ instruktionerna enligt snabbstart dokumentation för att skapa en Amazon SageMaker Studio domän och starta Studio.
Detta är ett förutsättningssteg. Det är valfritt om Studio redan är konfigurerat på ditt konto. - Efter att Studio har lanserats, på Launcher fliken, välj Systemterminal.
Detta startar en terminalsession som ger dig ett kommandoradsgränssnitt att arbeta med. - För att installera Synthea och generera datamängden i CSV-format, kör följande kommandon i den startade terminalsessionen:
Vi tillhandahåller en parameter för att generera datamängder med en populationsstorlek på 10,000 XNUMX. Observera att storleksparametern anger antalet levande medlemmar av befolkningen. Dessutom genererar Synthea också data för döda medlemmar av befolkningen som kan lägga till några extra datapunkter ovanpå den angivna urvalsstorleken.
Vänta tills datagenereringen är klar. Detta steg tar vanligtvis cirka en timme eller mindre. Synthea genererar flera datamängder, inklusive patients
, medications
, allergies
, conditions
, och mer. För det här inlägget använder vi tre av de resulterande datamängderna:
- patienter.csv – Denna datauppsättning är cirka 3.2 MB och innehåller cirka 11,000 25 rader med patientdata (XNUMX kolumner inklusive patient-ID, födelsedatum, kön, adress och mer)
- villkor.csv – Denna datauppsättning är cirka 47 MB och innehåller cirka 370,000 XNUMX rader med medicinskt tillståndsdata (sex kolumner inklusive patient-ID, tillståndets startdatum, tillståndskod och mer)
- observations.csv – Denna datauppsättning är cirka 830 MB och innehåller cirka 5 miljoner rader med observationsdata (åtta kolumner inklusive patient-ID, observationsdatum, observationskod, värde och mer)
Det finns ett en-till-många-förhållande mellan patients
och conditions
datauppsättningar. Det finns också en en-till-många-relation mellan patients
och observations
datauppsättningar. För en detaljerad dataordbok, se CSV-fildataordbok.
- För att ladda upp de genererade datamängderna till en källbucket i Amazon S3, kör följande kommandon i terminalsessionen:
Starta Data Wrangler
Välja SageMaker-resurser på navigeringssidan i Studio och på Projekt meny, välj Data Wrangler för att skapa ett Data Wrangler-dataflöde. För detaljerade steg hur du startar Data Wrangler från Studio, se Kom igång med Data Wrangler.
Importera datum
För att importera din data, utför följande steg:
- Välja Amazon S3 och leta upp patient.csv-filen i S3-bucket.
- I Detaljer välj Först K för provtagning.
- ange
1100
för Provstorlek.
I förhandsgranskningsfönstret hämtar Data Wrangler de första 100 raderna från datamängden och listar dem som en förhandsgranskning. - Välja Importera.
Data Wrangler väljer ut de första 1,100 11,000 patienterna från det totala antalet patienter (XNUMX XNUMX rader) som genereras av Synthea och importerar data. Samplingsmetoden låter Data Wrangler endast bearbeta exempeldata. Det gör det möjligt för oss att utveckla vårt dataflöde med en mindre datauppsättning, vilket resulterar i snabbare bearbetning och en kortare återkopplingsslinga. Efter att vi skapat dataflödet kan vi skicka in det utvecklade receptet till en SageMaker bearbetning jobb att horisontellt skala ut bearbetningen för hela eller större datauppsättningen på ett distribuerat sätt. - Upprepa denna process för
conditions
ochobservations
datauppsättningar.- För
conditions
dataset, ange37000
för Provstorlek, vilket är 1/10 av de totalt 370,000 XNUMX raderna som genereras av Synthea. - För
observations
dataset, ange500000
för Provstorlek, vilket är 1/10 av de totala observationerna 5 miljoner rader genererade av Synthea.
- För
Du bör se tre datauppsättningar som visas i följande skärmdump.
Förvandla data
Datatransformation är processen att ändra strukturen, värdet eller formatet för en eller flera kolumner i datamängden. Processen utvecklas vanligtvis av en dataingenjör och kan vara utmanande för personer med mindre datatekniker att dechiffrera logiken som föreslås för transformationen. Datatransformation är en del av den bredare funktionsutvecklingsprocessen, och den korrekta sekvensen av steg är ett annat viktigt kriterium att tänka på när man utformar sådana recept.
Data Wrangler är designat för att vara ett lågkodsverktyg för att minska inträdesbarriären för effektiv dataförberedelse. Den kommer med över 300 förkonfigurerade datatransformationer som du kan välja mellan utan att behöva skriva en enda rad kod. I följande avsnitt ser vi hur man transformerar de importerade datamängderna i Data Wrangler.
Släpp kolumner i patients.csv
Vi släpper först några kolumner från patients
dataset. Att ta bort redundanta kolumner tar bort icke-relevant information från datasetet och hjälper oss att minska mängden datorresurser som krävs för att bearbeta datamängden och träna en modell. I det här avsnittet släpper vi kolumner som SSN eller passnummer baserat på sunt förnuft att dessa kolumner inte har något prediktivt värde. Med andra ord hjälper de inte vår modell att förutsäga hjärtsvikt. Vår studie är inte heller bekymrad över andra kolumner som födelseort eller sjukvårdskostnaders påverkan på en patients hjärtsvikt, så vi släpper dem också. Redundanta kolumner kan också identifieras genom att köra de inbyggda analyserna som målläckage, funktionskorrelation, multikollinearitet och mer, som är inbyggda i Data Wrangler. För mer information om de analystyper som stöds, se Analysera och visualisera. Dessutom kan du använda Rapport för datakvalitet och insikter att utföra automatiserade analyser på datamängderna för att komma fram till en lista med redundanta kolumner att eliminera.
- Välj plustecknet bredvid Datatyper för datasetet patients.csv och välj Lägg till transform.
- Välja Lägg till steg Och välj Hantera kolumner.
- För Förvandla¸ välja Släpp kolumn.
- För Kolumner att släppa, välj följande kolumner:
SSN
DRIVERS
PASSPORT
PREFIX
FIRST
LAST
SUFFIX
MAIDEN
RACE
ETHNICITY
BIRTHPLACE
ADDRESS
CITY
STATE
COUNTY
ZIP
LAT
LON
HEALTHCARE_EXPENSES
HEALTHCARE_COVERAGE
- Välja Förhandsvisning för att granska den transformerade datamängden och välj sedan Lägg till.
Du borde se steget Släpp kolumn i din lista över transformationer.
Visa datum/tid i patients.csv
Nu använder vi funktionen Featurize datum/tid för att generera den nya funktionen Year
från BIRTHDATE
kolumn i patients
dataset. Vi använder den nya funktionen i ett efterföljande steg för att beräkna en patients ålder vid tidpunkten för observation äger rum.
- I Trans rutan i din Släpp kolumn sida för
patients
dataset, välj Lägg till steg. - Välj Ange datum/tid omvandla.
- Välja Extrahera kolumner.
- För Inmatningskolumner, lägg till kolumnen
BIRTHDATE
. - Välja År och avmarkera Månad, Dag, timme, Minut, Sekund.
- Välja FörhandsvisningOch välj sedan Lägg till.
Lägg till transformationer i observations.csv
Data Wrangler stöder anpassade transformationer med Python (användardefinierade funktioner), PySpark, Pandas eller PySpark (SQL). Du kan välja din transformationstyp baserat på din förtrogenhet med varje alternativ och preferens. För de tre sistnämnda alternativen exponerar Data Wrangler variabeln df
så att du kan komma åt dataramen och tillämpa transformationer på den. För en detaljerad förklaring och exempel, se Anpassade transformationer. I det här avsnittet lägger vi till tre anpassade transformeringar till observations
datasätt.
- Lägg till en transformation till observations.csv och släpp
DESCRIPTION
kolonn. - Välja FörhandsvisningOch välj sedan Lägg till.
- I Trans välj Lägg till steg Och välj Anpassad transformation.
- Välj på rullgardinsmenyn Python (Pandor).
- Ange följande kod:
Det här är LONIC-koder som motsvarar följande observationer som vi är intresserade av att använda som funktioner för att förutsäga hjärtsvikt:
- Välja FörhandsvisningOch välj sedan Lägg till.
- Lägg till en transformation för att extrahera
Year
ochQuarter
frånDATE
kolonn. - Välja FörhandsvisningOch välj sedan Lägg till.
- Välja Lägg till steg Och välj Anpassad transformation.
- Välj på rullgardinsmenyn Python (PySpark).
De fem typerna av observationer kanske inte alltid registreras på samma datum. En patient kan till exempel besöka sin husläkare den 21 januari och få sitt systoliska blodtryck, diastoliskt blodtryck, hjärtfrekvens och kroppsmassaindex mätt och registrerat. Ett labbtest som inkluderar blodplättar kan dock göras vid ett senare tillfälle den 2 februari. Därför är det inte alltid möjligt att ansluta dataramar före observationsdatumet. Här sammanfogar vi dataramar på en grov granularitet på kvartalsbasis. - Ange följande kod:
- Välja FörhandsvisningOch välj sedan Lägg till.
- Välja Lägg till stegOch välj sedan Hantera rader.
- För Förvandlaväljer Släpp dubbletter.
- Välja FörhandsvisningOch välj sedan Lägg till.
- Välja Lägg till steg Och välj Anpassad transformation.
- Välj på rullgardinsmenyn Python (Pandor).
- Ange följande kod för att ta ett genomsnitt av datapunkter som delar samma tidsvärde:
- Välja FörhandsvisningOch välj sedan Lägg till.
Gå med patient.csv och observations.csv
I det här steget visar vi hur man effektivt och enkelt utför komplexa kopplingar på datamängder utan att skriva någon kod via Data Wranglers kraftfulla användargränssnitt. För att lära dig mer om de typer av anslutningar som stöds, se Transformera data.
- Till höger om Transform: patients.csv, välj plustecknet bredvid Steg Och välj Ansluta sig.
Du kan se filen transformed patients.csv listad under dataset i den vänstra rutan. - Till höger om Transform: observations.csv, Klicka på Steg för att initiera sammanfogningen.
Den transformerade observations.csv-filen listas nu under dataset i den vänstra rutan. - Välja Inställd.
- För Gå med Typväljer Inre.
- För Vänsterväljer Id.
- För Högerväljer Patienten.
- Välja FörhandsvisningOch välj sedan Lägg till.
Lägg till en anpassad transformation till de sammanfogade datamängderna
I detta steg beräknar vi en patients ålder vid observationstillfället. Vi släpper även kolumner som inte längre behövs.
- Välj plustecknet bredvid 1:a Gå med Och välj Lägg till transform.
- Lägg till en anpassad transformation i Pandas:
- Välja FörhandsvisningOch välj sedan Lägg till.
Lägg till anpassade omvandlingar till conditions.csv
- Välj plustecknet bredvid Transform: conditions.csv Och välj Lägg till transform.
- Lägg till en anpassad transformation i Pandas:
Notera: Som vi visade tidigare kan du släppa kolumner antingen med anpassad kod eller med de inbyggda transformationerna som tillhandahålls av Data Wrangler. Anpassade transformationer inom Data Wrangler ger flexibiliteten att ta med din egen transformationslogik i form av kodavsnitt i de ramverk som stöds. Dessa utdrag kan senare sökas och tillämpas vid behov.
Koderna i den föregående transformationen är SNOMED-CT-koder som motsvarar följande villkor. De heart failure
or chronic congestive heart failure
skick blir etiketten. Vi använder de återstående tillstånden som funktioner för att förutsäga hjärtsvikt. Vi släpper också några kolumner som inte längre behövs.
- Låt oss sedan lägga till en anpassad transformation i PySpark:
Vi utför en vänster yttre sammanfogning för att behålla alla poster i hjärtsviktsdataramen. En ny kolumn
has_xxx
beräknas för varje tillstånd förutom hjärtsvikt baserat på tillståndets startdatum. Vi är bara intresserade av medicinska tillstånd som registrerades före hjärtsvikten och använder dem som funktioner för att förutsäga hjärtsvikt. - Lägg till en inbyggd Hantera kolumner transformera för att ta bort de redundanta kolumner som inte längre behövs:
hypertension
diabetes
coronary
smoke
atrial
- Utdrag
Year
ochQuarter
frånheartfailure
kolonn.
Detta matchar granulariteten vi använde tidigare i transformationen avobservations
datasätt. - Vi bör ha totalt 6 steg för conditions.csv.
Anslut conditions.csv till den sammanfogade datamängden
Vi utför nu en ny sammanfogning för att sammanfoga villkorsdataset till det sammanfogade patients
och observations
datasätt.
- Välja Transform: 1:a gå med.
- Välj plustecknet och välj Ansluta sig.
- Välja Steg bredvid Transform: conditions.csv.
- Välja Inställd.
- För Gå med Typväljer Vänster yttre.
- För Vänsterväljer Id.
- För Högerväljer Patienten.
- Välja FörhandsvisningOch välj sedan Lägg till.
Lägg till omvandlingar till de sammanfogade datamängderna
Nu när vi har alla tre datamängder sammanfogade, låt oss tillämpa några ytterligare transformationer.
- Lägg till följande anpassade transformation i PySpark så
has_heartfailure
blir vår etikettkolumn: - Lägg till följande anpassade transformation i PySpark:
- Släpp de redundanta kolumner som inte längre behövs:
Id
DATE_year
DATE_quarter
patient
heartfailure
heartfailure_year
heartfailure_quarter
- På Analys flik, för Analystyp¸ välja Tabellöversikt.
En snabb genomsökning av sammanfattningen visar attMARITAL
kolumnen saknar data. - Välj Data fliken och lägg till ett steg.
- Välja Handtag saknas.
- För Förvandlaväljer Fyllning saknas.
- För Inmatningskolumnerväljer ÄKTENSKAPLIG.
- För Fyll värde, stiga på
S
.
Vår strategi här är att anta att patienten är singel om civilståndet saknar värde. Du kan ha en annan strategi. - Välja FörhandsvisningOch välj sedan Lägg till.
- Fyll i det saknade värdet som 0 för
has_hypertension
,has_diabetes
,has_coronary
,has_smoke
,has_atrial
.
Marital
och Gender
är kategorivariabler. Data Wrangler har en inbyggd funktion för att koda kategorivariabler.
- Lägg till ett steg och välj Koda kategori.
- För Förvandlaväljer En het kodning.
- För Inmatningskolumnerväljer ÄKTENSKAPLIG.
- För Outputstilväljer Kolumn.
Denna utdatastil producerar kodade värden i separata kolumner. - Välja FörhandsvisningOch välj sedan Lägg till.
- Upprepa dessa steg för Kön kolonn.
Den enastående kodningen delar upp kolumnen Äktenskapliga Marital_M
(gift) och Marital_S
(enkel), och delar upp kolumnen Kön i Gender_M
(hane) och Gender_F
(kvinna). Därför att Marital_M
och Marital_S
utesluter varandra (som är Gender_M
och Gender_F
), kan vi släppa en kolumn för att undvika överflödiga funktioner.
- Drop
Marital_S
ochGender_F
.
Numeriska funktioner som systolisk, hjärtfrekvens och ålder har olika enhetsstandarder. För en linjär regressionsbaserad modell måste vi först normalisera dessa numeriska egenskaper. Annars kan vissa funktioner med högre absolutvärden ha en obefogad fördel jämfört med andra funktioner med lägre absolutvärden och resultera i dålig modellprestanda. Data Wrangler har den inbyggda transformatorn Min-max scaler för att normalisera data. För en beslutsträdbaserad klassificeringsmodell krävs ingen normalisering. Vår studie är ett klassificeringsproblem så vi behöver inte tillämpa normalisering. Obalanserade klasser är ett vanligt problem vid klassificering. Obalans uppstår när träningsdataset innehåller kraftigt skev klassfördelning. Till exempel, när vår datauppsättning innehåller oproportionerligt fler patienter utan hjärtsvikt än patienter med hjärtsvikt, kan det göra att modellen är partisk mot att förutsäga ingen hjärtsvikt och presterar dåligt. Data Wrangler har en inbyggd funktion för att ta itu med problemet.
- Lägg till en anpassad transformation i Pandas för att konvertera datatyp av kolumner från "objekt"-typ till numerisk typ:
- Välj Analys fliken.
- För Analystyp¸ välja Histogram.
- För X-axelväljer har_hjärtsvikt.
- Välja Förhandsvisning.
Det är uppenbart att vi har en obalanserad klass (fler datapunkter märkta som ingen hjärtsvikt än datapunkter märkta som hjärtsvikt). - Gå tillbaka till Data flik. Välja Lägg till steg Och välj Balansdata.
- För Målkolumnväljer har_hjärtsvikt.
- För Önskat förhållande, stiga på
1
. - För Förvandlaväljer slog.
SMOTE står för Synthetic Minority Over-sampling Technique. Det är en teknik för att skapa nya minoritetsinstanser och lägga till datauppsättningen för att nå klassbalans. För detaljerad information, se SMOTE: Synthetic Minority Oversampling Technique. - Välja FörhandsvisningOch välj sedan Lägg till.
- Upprepa histogramanalysen i steg 20-23. Resultatet är en balanserad klass.
Visualisera målläckage och funktionskorrelation
Därefter kommer vi att utföra några visuella analyser med Data Wranglers rika verktygsuppsättning av avancerade ML-stödda analystyper. Först tittar vi på målläckage. Målläckage uppstår när data i träningsdatauppsättningen är starkt korrelerad med måletiketten, men inte är tillgänglig i verkliga data vid slutledningstidpunkten.
- På Fliken Analys, För Analystyp¸ välja Målläckage.
- För Problemtypväljer klassificering.
- För Måletväljer har_hjärtsvikt.
- Välja Förhandsvisning.
Baserat på analysen,hr
är ett målläckage. Vi släpper det i ett efterföljande steg.age
flaggas som ett målläckage. Det är rimligt att säga att en patients ålder kommer att vara tillgänglig under slutledningstid, så vi behåller ålder som en funktion.Systolic
ochdiastolic
flaggas också som troligt målläckage. Vi förväntar oss att ha de två mätningarna under inferenstiden, så vi behåller dem som funktioner. - Välja Lägg till för att lägga till analysen.
Sedan tittar vi på egenskapskorrelation. Vi vill välja funktioner som är korrelerade med målet men som är okorrelerade sinsemellan.
- På Fliken Analys, För Analystyp¸ välja Funktionskorrelation.
- För Korrelationstyp¸ välja linjär.
- Välja Förhandsvisning.
Koefficientpoängen indikerar starka korrelationer mellan följande par:
systolic
ochdiastolic
bmi
ochage
has_hypertension
ochhas_heartfailure
(märka)
För egenskaper som är starkt korrelerade är matriser beräkningsmässigt svåra att invertera, vilket kan leda till numeriskt instabila uppskattningar. För att mildra korrelationen kan vi helt enkelt ta bort en från paret. Vi släpper diastolic
och bmi
och behåll systolic
och age
i ett efterföljande steg.
Släpp diastoliska och bmi kolumner
Lägg till ytterligare transformeringssteg för att släppa hr
, diastolic
och bmi
kolumner med den inbyggda transformationen.
Skapa rapporten Datakvalitet och insikter
AWS nyligen meddelade den nya datakvalitets- och insiktsrapportfunktionen i Data Wrangler. Den här rapporten verifierar automatiskt datakvaliteten och upptäcker avvikelser i din data. Dataforskare och dataingenjörer kan använda detta verktyg för att effektivt och snabbt tillämpa domänkunskap för att bearbeta datamängder för ML-modellutbildning. Detta steg är valfritt. Utför följande steg för att generera den här rapporten på våra datauppsättningar:
- På Analys flik, för Analystypväljer Rapport för datakvalitet och insikter.
- För Målkolumnväljer har_hjärtsvikt.
- För Problemtyp, Välj Klassificering.
- Välja Skapa.
På några minuter genererar den en rapport med en sammanfattning, bilder och rekommendationer.
Skapa en snabbmodellanalys
Vi har slutfört vår dataförberedelse, rengöring och funktionsteknik. Data Wrangler har en inbyggd funktion som ger en grov uppskattning av den förväntade predikterade kvaliteten och prediktionskraften hos funktioner i vår datauppsättning.
- På Analys flik, för Analystyp¸ välja Snabb modell.
- För etikettväljer har_hjärtsvikt.
- Välja Förhandsvisning.
Enligt vår snabbmodellanalys kan vi se funktionen has_hypertension
har den högsta poängen för funktionsviktighet bland alla funktioner.
Exportera data och träna modellen
Låt oss nu exportera de transformerade ML-förberedda funktionerna till en destination S3-bucket och skala hela funktionsteknikpipelinen som vi har skapat hittills med hjälp av proverna till hela datasetet på ett distribuerat sätt.
- Välj plustecknet bredvid den sista rutan i dataflödet och välj Lägg till destination.
- Välja Amazon S3.
- Ange ett Datasetnamn. För Amazon S3 plats, välj en S3-skopa och välj sedan Lägg till destination.
- Välja Skapa jobb för att starta ett distribuerat PySpark-bearbetningsjobb för att utföra transformationen och mata ut data till destinations S3-bucket.
Beroende på storleken på datamängderna låter det här alternativet oss enkelt konfigurera klustret och skala horisontellt utan kod. Vi behöver inte oroa oss för att partitionera datamängderna eller hantera klustret och Spark-internerna. Allt detta sköts automatiskt för oss av Data Wrangler. - Välj i den vänstra rutan Nästa, 2. Konfigurera jobb.
- Sedan Välj Körning.
Alternativt kan vi också exportera den transformerade utgången till S3 via en Jupyter Notebook. Med detta tillvägagångssätt genererar Data Wrangler automatiskt en Jupyter-anteckningsbok med all kod som behövs för att starta ett bearbetningsjobb för att tillämpa dataflödesstegen (skapade med hjälp av ett exempel) på den större fullständiga datamängden och använda den transformerade datamängden som funktioner för att kick- sluta ett träningsjobb senare. Den bärbara koden kan enkelt köras med eller utan att göra ändringar. Låt oss nu gå igenom stegen för hur man får detta gjort via Data Wranglers användargränssnitt.
- Välj plustecknet bredvid det sista steget i dataflödet och välj Exportera till.
- Välja Amazon S3 (via Jupyter Notebook).
- Den öppnar automatiskt en ny flik med en Jupyter-anteckningsbok.
- I Jupyter-anteckningsboken, lokalisera cellen i (Valfritt) Nästa steg avsnitt och ändra
run_optional_steps
frånFalse
tillTrue
.
De aktiverade valfria stegen i notebook-datorn utför följande: - Gå tillbaka till toppen av anteckningsboken och på Körning meny, välj Kör alla celler.
Om du använder den genererade anteckningsboken som den är, startar den ett SageMaker-bearbetningsjobb som skalar ut bearbetningen över två m5.4xlarge instanser för att bearbeta hela datasetet på S3-skopan. Du kan justera antalet instanser och instanstyper baserat på datauppsättningsstorleken och den tid du behöver för att slutföra jobbet.
Vänta tills träningsjobbet från den sista cellen är klart. Den genererar en modell i SageMakers standard S3-hink.
Den tränade modellen är redo för distribution för antingen realtidsslutning eller batchtransformation. Observera att vi använde syntetisk data för att demonstrera funktioner i Data Wrangler och använde bearbetad data för träningsmodell. Med tanke på att data vi använde är syntetiska, är slutledningsresultatet från den tränade modellen inte avsett för diagnos av medicinska tillstånd i verkligheten eller ersättning av bedömningar från läkare.
Du kan också exportera din transformerade datauppsättning direkt till Amazon S3 genom att välja Exportera överst på förhandsgranskningssidan för transform. Alternativet för direktexport exporterar endast det transformerade provet om sampling aktiverades under importen. Det här alternativet passar bäst om du har att göra med mindre datauppsättningar. Den transformerade datan kan också matas in direkt i en funktionsbutik. För mer information, se Amazon SageMaker Feature Store. Dataflödet kan också exporteras som en SageMaker-pipeline som kan orkestreras och schemaläggas enligt dina krav. För mer information, se Amazon SageMaker-rörledningar.
Slutsats
I det här inlägget visade vi hur man använder Data Wrangler för att bearbeta sjukvårdsdata och utföra skalbar funktionsteknik på ett verktygsdrivet sätt med låg kod. Vi lärde oss hur man tillämpar de inbyggda transformationerna och analyserna på lämpligt sätt där det behövs, och kombinerar det med anpassade transformationer för att lägga till ännu mer flexibilitet till vårt arbetsflöde för dataförberedelse. Vi gick också igenom de olika alternativen för att skala ut dataflödesreceptet via distribuerade bearbetningsjobb. Vi lärde oss också hur de transformerade data enkelt kan användas för att träna en modell för att förutsäga hjärtsvikt.
Det finns många andra funktioner i Data Wrangler som vi inte har behandlat i det här inlägget. Utforska vad som är möjligt i Förbered ML-data med Amazon SageMaker Data Wrangler och lär dig hur du använder Data Wrangler för ditt nästa datavetenskaps- eller maskininlärningsprojekt.
Om författarna
Forrest Sun är Senior Solution Architect med AWS Public Sector-teamet i Toronto, Kanada. Han har arbetat inom vård- och finansbranschen de senaste två decennierna. Utanför jobbet tycker han om att campa med familjen.
Arunprasath Shankar är en artificiell intelligens och maskininlärning (AI / ML) specialistlösningsarkitekt med AWS, som hjälper globala kunder att skala sina AI-lösningar effektivt och effektivt i molnet. På fritiden tycker Arun om att titta på sci-fi-filmer och lyssna på klassisk musik.
- AI
- ai konst
- ai art generator
- har robot
- Amazon SageMaker
- Amazon SageMaker Data Wrangler
- artificiell intelligens
- artificiell intelligenscertifiering
- artificiell intelligens inom bankväsendet
- artificiell intelligens robot
- robotar med artificiell intelligens
- programvara för artificiell intelligens
- AWS maskininlärning
- blockchain
- blockchain konferens ai
- coingenius
- konversationskonstnärlig intelligens
- kryptokonferens ai
- dalls
- djupt lärande
- du har google
- maskininlärning
- plato
- plato ai
- Platon Data Intelligence
- Platon spel
- PlatonData
- platogaming
- skala ai
- syntax
- zephyrnet