Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot

Data bränsle till maskininlärning (ML); kvaliteten på data har en direkt inverkan på kvaliteten på ML-modeller. Därför är det avgörande att förbättra datakvaliteten och använda rätt funktionsteknik för att skapa korrekta ML-modeller. ML-utövare itererar ofta tröttsamt på funktionsteknik, val av algoritmer och andra aspekter av ML i jakt på optimala modeller som generaliserar väl på verkliga data och levererar de önskade resultaten. Eftersom snabbheten i att göra affärer är oproportionerligt viktig, kan denna extremt tråkiga och iterativa process leda till projektförseningar och förlorade affärsmöjligheter.

Amazon SageMaker Data Wrangler minskar tiden för att aggregera och förbereda data för ML från veckor till minuter, och Amazon SageMaker autopilot bygger, tränar och justerar automatiskt de bästa ML-modellerna baserat på dina data. Med autopilot behåller du fortfarande full kontroll och synlighet över din data och modell. Båda tjänsterna är specialbyggda för att göra ML-utövare mer produktiva och påskynda tiden till värde.

Data Wrangler ger nu en enhetlig upplevelse som gör att du kan förbereda data och sömlöst träna en ML-modell i autopilot. Med den här nylanserade funktionen kan du nu förbereda dina data i Data Wrangler och enkelt starta autopilotexperiment direkt från Data Wranglers användargränssnitt (UI). Med bara några få klick kan du automatiskt bygga, träna och ställa in ML-modeller, vilket gör det enklare att använda toppmoderna funktionstekniker, träna högkvalitativa ML-modeller och få insikter från din data snabbare.

I det här inlägget diskuterar vi hur du kan använda denna nya integrerade upplevelse i Data Wrangler för att analysera datamängder och enkelt bygga högkvalitativa ML-modeller i autopilot.

Datauppsättning översikt

Pimaindianer är en ursprungsbefolkning som bor i Mexiko och Arizona, USA. Studier visa Pima-indianer som en högriskbefolkningsgrupp för diabetes mellitus. Att förutsäga sannolikheten för en individs risk och mottaglighet för en kronisk sjukdom som diabetes är en viktig uppgift för att förbättra hälsan och välbefinnandet för denna ofta underrepresenterade minoritetsgrupp.

Vi använder Pima Indian Diabetes offentliga datauppsättning att förutsäga en individs mottaglighet för diabetes. Vi fokuserar på den nya integrationen mellan Data Wrangler och Autopilot för att förbereda data och automatiskt skapa en ML-modell utan att skriva en enda rad kod.

Datauppsättningen innehåller information om Pima indiska kvinnor 21 år eller äldre och inkluderar flera medicinska prediktorvariabler (oberoende) och en målvariabel (beroende), Outcome. Följande diagram beskriver kolumnerna i vår datauppsättning.

Kolumn Namn Beskrivning
graviditeter Antal gånger gravid
Glukos Plasmaglukoskoncentration i ett oralt glukostoleranstest inom 2 timmar
Blodtryck Diastoliskt blodtryck (mm Hg)
Hudtjocklek Triceps hudveck tjocklek (mm)
Insulin 2-timmars seruminsulin (mu U/ml)
BMI Kroppsmassaindex (vikt i kg/(höjd i m)^2)
Diabetes Stamtavla Diabetes stamtavla funktion
Ålder Ålder i år
Resultat Målvariabeln

Datauppsättningen innehåller 768 poster, med totalt 9 funktioner. Vi lagrar denna datauppsättning i Amazon enkel förvaringshink (Amazon S3) som en CSV-fil och importera sedan CSV:en direkt till ett Data Wrangler-flöde från Amazon S3.

Lösningsöversikt

Följande diagram sammanfattar vad vi åstadkommer i det här inlägget.[KT1]

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Dataforskare, läkare och andra medicinska domänexperter förser patientdata med information om glukosnivåer, blodtryck, kroppsmassaindex och andra funktioner som används för att förutsäga sannolikheten att ha diabetes. Med datamängden i Amazon S3 importerar vi datasetet till Data Wrangler för att utföra utforskande dataanalys (EDA), dataprofilering, funktionsteknik och dela upp datasetet i tåg och test för modellbyggande och utvärdering.

Vi använder sedan Autopilots nya funktionsintegration för att snabbt bygga en modell direkt från Data Wrangler-gränssnittet. Vi väljer Autopilotens bästa modell utifrån modellen med högst F-beta-poäng. Efter att Autopilot hittat den bästa modellen kör vi en SageMaker Batch Transform jobb på testet (holdout) set med modellartefakter av den bästa modellen för utvärdering.

Medicinska experter kan tillhandahålla nya data till den validerade modellen för att få en förutsägelse för att se om en patient sannolikt kommer att ha diabetes. Med dessa insikter kan medicinska experter påbörja behandling tidigt för att förbättra hälsan och välbefinnandet för utsatta befolkningsgrupper. Medicinska experter kan också förklara en modells förutsägelse genom att referera till modellens detaljer i autopiloten eftersom de har full insyn i modellens förklarabarhet, prestanda och artefakter. Denna synlighet utöver validering av modellen från testsetet ger medicinska experter större förtroende för modellens prediktiva förmåga.

Vi leder dig genom följande steg på hög nivå.

  1. Importera datamängden från Amazon S3.
  2. Utför EDA och dataprofilering med Data Wrangler.
  3. Utför funktionsutveckling för att hantera extremvärden och saknade värden.
  4. Dela upp data i tåg- och testset.
  5. Träna och bygg en modell med autopilot.
  6. Testa modellen på ett prov med en SageMaker-anteckningsbok.
  7. Analysera validering och testuppsättningsprestanda.

Förutsättningar

Slutför följande förutsättningssteg:

  1. Ladda upp datasetet till en S3-skopa som du väljer.
  2. Se till att du har nödvändiga behörigheter. För mer information, se Kom igång med Data Wrangler.
  3. Konfigurera en SageMaker-domän konfigurerad för att använda Data Wrangler. För instruktioner, se Ombord på Amazon SageMaker Domain.

Importera din datauppsättning med Data Wrangler

Du kan integrera ett Data Wrangler-dataflöde i dina ML-arbetsflöden för att förenkla och effektivisera dataförbearbetning och funktionsteknik med lite eller ingen kodning. Slutför följande steg:

  1. Skapa en ny Data Wrangler-flöde.

Om det här är första gången du öppnar Data Wrangler kan du behöva vänta några minuter för att den ska vara klar.

  1. Välj datamängden lagrad i Amazon S3 och importera den till Data Wrangler.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

När du har importerat datamängden bör du se början av ett dataflöde i Data Wrangler-gränssnittet. Du har nu ett flödesdiagram.

  1. Välj plustecknet bredvid Datatyper Och välj Redigera för att bekräfta att Data Wrangler automatiskt härledde de korrekta datatyperna för dina datakolumner.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Om datatyperna inte är korrekta kan du enkelt ändra dem via användargränssnittet. Om flera datakällor finns kan du gå med eller sammanfoga dem.

Vi kan nu skapa en analys och lägga till transformationer.

Utför utforskande dataanalys med datainsiktsrapporten

Undersökande dataanalys är en kritisk del av ML-arbetsflödet. Vi kan använda den nya datainsiktsrapporten från Data Wrangler för att få en bättre förståelse för profilen och distributionen av vår data. Rapporten innehåller sammanfattande statistik, varningar för datakvalitet, insikter i målkolumnen, en snabbmodell och information om avvikande och dubblerade rader.

  1. Välj plustecknet bredvid Datatyper Och välj Få datainsikter.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. För Målet kolumnväljer Resultat.
  2. För Problemtyp, och (valfritt) välj Klassificering.
  3. Välja Skapa.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Resultaten visar en sammanfattande data med datauppsättningsstatistiken.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Vi kan också se fördelningen av de märkta raderna med ett histogram, en uppskattning av den förväntade predikterade kvaliteten på modellen med snabbmodellfunktionen och en sammanfattningstabell för funktioner.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Vi går inte in på detaljerna i analysen av datainsiktsrapporten; hänvisa till Accelerera databeredningen med datakvalitet och insikter i Amazon SageMaker Data Wrangler för ytterligare information om hur du kan använda datainsiktsrapporten för att påskynda dina dataförberedande steg.

Utför funktionsteknik

Nu när vi har profilerat och analyserat fördelningen av våra indatakolumner på en hög nivå, kan det första övervägandet för att förbättra kvaliteten på vår data vara att hantera saknade värden.

Till exempel vet vi att nollor (0) för Insulin kolumnen representerar saknade värden. Vi skulle kunna följa rekommendationen att ersätta nollorna med NaN. Men vid närmare granskning finner vi att minimivärdet är 0 för andra kolumner som t.ex Glucose, BloodPressure, SkinThicknessoch BMI. Vi behöver ett sätt att hantera saknade värden, men måste vara känsliga för kolumner med nollor som giltig data. Låt oss se hur vi kan fixa detta.

I Funktionsdetaljer avsnitt tar rapporten upp en Förtäckt saknat värde varning för funktionen Insulin.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Eftersom nollor i Insulin kolumnen i själva verket saknar data använder vi Konvertera regex till saknas transformera för att transformera nollvärden till tom (saknade värden).

  1. Välj plustecknet bredvid Data typer Och välj Lägg till transformera.
  2.  Välja Sök och redigera.
  3. För Förvandlaväljer Konvertera regex till saknas.
  4. För Ingång kolonner, välj kolumnerna Insulin, Glucose, BloodPressure, SkinThicknessoch BMI.
  5. För Mönster, stiga på 0.
  6. Välja Förhandsvisning och Lägg till för att spara detta steg.

De 0 posterna under Insulin, Glucose, BloodPressure, SkinThicknessoch BMI saknar nu värden.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Data Wrangler ger dig några andra alternativ för att fixa saknade värden.

  1. Vi hanterar saknade värden genom att imputera den ungefärliga medianen för Glucose kolonn.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Vi vill också säkerställa att våra funktioner är i samma skala. Vi vill inte av misstag lägga mer vikt åt en viss funktion bara för att de innehåller ett större numeriskt område. Vi normaliserar våra funktioner för att göra detta.

  1. Lägg till en ny Process numerisk förvandla och välja Skala värden.
  2. För Scalerväljer Min-max scaler.
  3. För Inmatningskolumner, välj kolumnerna Pregnancies, BloodPressure, Glucose, SkinThickness, Insulin, BMIoch Age.
  4. uppsättning Min till 0 och Max till 1.

Detta säkerställer att våra funktioner ligger mellan värdena 0 och 1.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Nu när vi har skapat några funktioner, vi delar upp vår datauppsättning i utbildning och testning innan vi bygger en modell.

Dela upp data i träning och testning

I modellbyggnadsfasen av ditt ML-arbetsflöde testar du effektiviteten av din modell genom att köra batchförutsägelser. Du kan avsätta en test- eller holdout-datauppsättning för utvärdering för att se hur din modell presterar genom att jämföra förutsägelserna med grundsanningen. I allmänhet, om fler av modellens förutsägelser matchar true etiketter kan vi fastställa att modellen fungerar bra.

Vi använder Data Wrangler för att dela upp vår datauppsättning för testning. Vi behåller 90 % av vår datauppsättning för utbildning eftersom vi har en relativt liten datauppsättning. De återstående 10 % av vår datauppsättning fungerar som testdatauppsättningen. Vi använder denna datauppsättning för att validera autopilotmodellen senare i det här inlägget.

Vi delar upp vår data genom att välja Dela upp data förvandla och välja Randomiserad split som metoden. Vi anger 0.9 som delprocent för träning och 0.1 för testning.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Med datatransformationen och de tekniska stegen klara är vi nu redo att träna en modell.

Träna och validera modellen

Vi kan använda den nya Data Wrangler-integrationen med Autopilot för att direkt träna en modell från Data Wranglers dataflödesgränssnitt.

  1. Välj plustecknet bredvid dataset Och välj Tågmodell.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. För Amazon S3 plats, ange Amazon S3-platsen där SageMaker exporterar dina data.

Autopiloten använder denna plats för att automatiskt träna en modell, vilket sparar tid från att behöva definiera utdataplatsen för Data Wrangler-flödet och sedan behöva definiera inmatningsplatsen för autopilotens träningsdata. Detta ger en mer sömlös upplevelse.

  1. Välja Exportera och träna att initiera modellbygge med autopilot.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Autopiloten väljer automatiskt in- och utmatningsplatser för träningsdata. Du behöver bara ange målkolumnen och klicka Skapa experiment att träna din modell.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Testa modellen på ett uthålligt prov

När autopiloten slutfört experimentet kan vi se träningsresultaten och utforska den bästa modellen.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. Välja Se modelldetaljer för din önskade modell, välj sedan prestanda fliken på sidan med modelldetaljer.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Smakämnen prestanda fliken visar flera modellmätningstester, inklusive en förvirringsmatris, området under precisions-/återkallningskurvan (AUCPR) och området under mottagarens funktionskarakteristikkurva (ROC). Dessa illustrerar modellens övergripande valideringsprestanda, men de berättar inte om modellen kommer att generaliseras väl. Vi behöver fortfarande göra utvärderingar på osynliga testdata för att se hur exakt modellen förutsäger om en individ kommer att ha diabetes.

För att säkerställa att modellen generaliserar tillräckligt bra avsätter vi testprovet för oberoende provtagning. Vi kan göra det i Data Wrangler-flödesgränssnittet.

  1.  Välj plustecknet bredvid datasetväljer Exportera till, och välj Amazon S3.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

  1. Ange en Amazon S3-sökväg.

Vi hänvisar till den här sökvägen när vi kör batch-inferens för validering i nästa avsnitt.

  1. Skapa en ny SageMaker-anteckningsbok för att utföra batch-inferencing på uthållningsprovet och bedöma testprestanda. Se följande GitHub repo för en prov anteckningsbok för att köra batch-inferens för validering.

Analysera validering och testuppsättningsprestanda

När batchtransformeringen är klar skapar vi en förvirringsmatris för att jämföra de faktiska och förutsedda resultaten av holdout-datauppsättningen.

Vi ser 23 sanna positiva och 33 sanna negativa från våra resultat. I vårt fall hänvisar sanna positiva till modellen som korrekt förutsäger en individ som har diabetes. Däremot hänvisar sanna negativa till modellen som korrekt förutsäger en individ som inte har diabetes.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

I vårt fall är precision och återkallelse viktiga mått. Precision mäter i huvudsak alla individer som förutspås ha diabetes, hur många har egentligen diabetes? Återkallelse hjälper däremot att mäta alla individer som verkligen har diabetes, hur många förutspåddes ha diabetes? Till exempel kanske du vill använda en modell med hög precision eftersom du vill behandla så många individer du kan, särskilt om det första stadiet av behandlingen inte har någon effekt på individer utan diabetes (dessa är falska positiva – de som är märkta som att de har det när de faktiskt inte gör det).

Vi plottar också området under ROC-kurvan (AUC)-grafen för att utvärdera resultaten. Ju högre AUC, desto bättre är modellen på att skilja mellan klasser, vilket i vårt fall är hur väl modellen presterar på att skilja patienter med och utan diabetes.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Slutsats

I det här inlägget demonstrerade vi hur du integrerar din databearbetning, med teknik och modellbygge med hjälp av Data Wrangler och Autopilot. Vi lyfte fram hur du enkelt kan träna och ställa in en modell med autopilot direkt från Data Wranglers användargränssnitt. Med den här integrationsfunktionen kan vi snabbt bygga en modell efter att ha slutfört funktionsteknik, utan att skriva någon kod. Sedan refererade vi till Autopilots bästa modell för att köra batchförutsägelser med hjälp av AutoML-klassen med SageMaker Python SDK.

Lågkods- och AutoML-lösningar som Data Wrangler och Autopilot tar bort behovet av att ha djup kodningskunskap för att bygga robusta ML-modeller. Kom igång med Data Wrangler idag för att uppleva hur enkelt det är att bygga ML-modeller med hjälp av SageMaker autopilot.


Om författarna

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Peter Chung är en lösningsarkitekt för AWS och brinner för att hjälpa kunder att avslöja insikter från sina data. Han har byggt lösningar för att hjälpa organisationer att fatta datadrivna beslut inom både den offentliga och privata sektorn. Han innehar alla AWS-certifieringar samt två GCP-certifieringar. Han tycker om kaffe, matlagning, att vara aktiv och umgås med sin familj.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Pradeep Reddy är en Senior Product Manager i SageMaker Low/No Code ML-teamet, som inkluderar SageMaker Autopilot, SageMaker Automatic Model Tuner. Utanför jobbet tycker Pradeep om att läsa, springa och nörda med datorer i palmstorlek som raspberry pi och annan hemautomatiseringsteknik.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.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.

Enhetlig dataförberedelse och modellträning med Amazon SageMaker Data Wrangler och Amazon SageMaker Autopilot PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Srujan Gopu är Senior Frontend Engineer i SageMaker Low Code/No Code ML som hjälper kunder med Autopilot- och Canvas-produkter. När han inte kodar gillar Srujan att springa med sin hund Max, lyssna på ljudböcker och VR-spelutveckling.

Tidsstämpel:

Mer från AWS maskininlärning