Interaktiv dataprep-widget för bärbara datorer som drivs av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Interaktiv dataprep-widget för bärbara datorer som drivs av Amazon SageMaker Data Wrangler

Enligt en undersökning 2020 av dataforskare utförd av Anaconda är dataförberedelse ett av de kritiska stegen i arbetsflöden för maskininlärning (ML) och dataanalys, och ofta mycket tidskrävande för datavetare. Dataforskare lägger cirka 66 % av sin tid på dataförberedelser och analysuppgifter, inklusive laddning (19 %), rengöring (26 %) och visualisering av data (21 %).

Amazon SageMaker Studio är den första helt integrerade utvecklingsmiljön (IDE) för ML. Med ett enda klick kan datavetare och utvecklare snabbt snurra upp Studioanteckningsböcker att utforska datauppsättningar och bygga modeller. Om du föredrar ett GUI-baserat och interaktivt gränssnitt kan du använda Amazon SageMaker Data Wrangler, med över 300 inbyggda visualiseringar, analyser och transformationer för att effektivt bearbeta data som backas upp av Spark utan att skriva en enda rad kod.

Data Wrangler erbjuder nu en inbyggd dataförberedelsefunktion i Amazon SageMaker Studio bärbara datorer som gör det möjligt för ML-utövare att visuellt granska dataegenskaper, identifiera problem och åtgärda problem med datakvalitet – med bara några få klick direkt i bärbara datorer.

I det här inlägget visar vi dig hur Data Wrangler dataprep-widgeten genererar automatiskt viktiga visualiseringar ovanpå en Pandas dataram för att förstå datadistribution, upptäcka datakvalitetsproblem och ytdatainsikter såsom extremvärden för varje funktion. Det hjälper till att interagera med data och upptäcka insikter som kan gå obemärkt förbi med ad hoc-frågor. Den rekommenderar också transformationer för att åtgärda, gör att du kan tillämpa datatransformationer på användargränssnittet och automatiskt generera kod i anteckningsbokens celler. Den här funktionen är tillgänglig i alla regioner där SageMaker Studio är tillgänglig.

Lösningsöversikt

Låt oss ytterligare förstå hur denna nya widget gör datautforskning avsevärt enklare och ger en sömlös upplevelse för att förbättra den övergripande databeredningsupplevelsen för dataingenjörer och praktiker. För vårt användningsfall använder vi en modifierad version av Titanic-dataset, en populär datauppsättning i ML-gemenskapen, som nu har lagts till som en exempeluppsättning så att du snabbt kan komma igång med SageMaker Data Wrangler. Den ursprungliga datamängden erhölls från OpenML, och modifierad för att lägga till problem med syntetisk datakvalitet av Amazon för denna demo. Du kan ladda ner den modifierade versionen av datasetet från den offentliga S3-sökvägen s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv.

Förutsättningar

För att få praktisk erfarenhet av alla funktioner som beskrivs i det här inlägget, fyll i följande förutsättningar:

  1. Se till att du har ett AWS-konto, säker åtkomst för att logga in på kontot via AWS Management Consoleoch AWS identitets- och åtkomsthantering (IAM) behörigheter att använda Amazon SageMaker och Amazon enkel lagringstjänst (Amazon S3) resurser.
  2. Använd exempeldataset från den offentliga S3-sökvägen s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv eller alternativt ladda upp den till en S3-hink på ditt konto.
  3. Gå ombord på en SageMaker-domän och få tillgång till Studio för att använda bärbara datorer. För instruktioner, se Ombord på Amazon SageMaker Domain. Om du använder befintlig Studio, uppgradera till senaste versionen av Studio.

Aktivera widgeten för datautforskning

När du använder Pandas dataramar kan användare av Studio-anteckningsboken manuellt aktivera datautforskningswidgeten så att nya visualiseringar visas som standard överst i varje kolumn. Widgeten visar ett histogram för numerisk data och ett stapeldiagram för andra typer av data. Dessa representationer låter dig snabbt förstå datadistributionen och upptäcka saknade värden och extremvärden utan att behöva skriva standardmetoder för varje kolumn. Du kan hålla muspekaren över fältet i varje visualisering för att få en snabb förståelse av distributionen.

Öppna Studio och skapa en ny Python 3-anteckningsbok. Se till att välja Datavetenskap 3.0 bild från SageMaker-bilder genom att klicka Byt miljö knapp.

Widgeten för datautforskning är tillgänglig i följande bilder. För listan över standard SageMaker-bilder, se Tillgängliga Amazon SageMaker-bilder.

  • Python 3 (Data Science) med Python 3.7
  • Python 3 (Data Science 2.0) med Python 3.8
  • Python 3 (Data Science 3.0) med Python 3.10
  • Spark Analytics 1.0 och 2.0

För att använda den här widgeten, importera SageMaker_DataWrangler bibliotek. Ladda den modifierade versionen av Titanic dataset från S3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv och läs CSV med Pandas bibliotek:

import pandas as pd
import boto3
import io
import sagemaker_datawrangler

s3 = boto3.client('s3')
obj = s3.get_object(Bucket='sagemaker-sample-files', Key='datasets/tabular/dirty-titanic/titanic-dirty-4.csv')
df = pd.read_csv(io.BytesIO(obj['Body'].read()))

datawrangler dataprep widget - exempel anteckningsbok

Visualisera data

Efter att data har laddats i Pandas dataram kan du se data genom att bara använda df or display(df). Tillsammans med att lista raden ger dataprep-widgeten insikter, visualiseringar och råd om datakvalitet. Du behöver inte skriva någon ytterligare kod för att generera funktions- och målinsikter, distributionsinformation eller renderingsdatakvalitetskontroller. Du kan välja dataramtabellens rubrik för att se den statistiska sammanfattningen som visar varningar för datakvalitet, om några.

visualisera data

Varje kolumn visar ett stapeldiagram eller histogram baserat på datatypen. Som standard samplar widgeten upp till 10,000 XNUMX observationer för att generera meningsfulla insikter. Det ger också möjlighet att köra insiktsanalysen på hela datamängden.

Som visas i följande skärmdump identifierar denna widget om en kolumn har kategoriska eller kvantitativa data.

kategoriska eller kvantitativa data

För kategorisk data genererar widgeten stapeldiagrammet med alla kategorier. I följande skärmdump, till exempel, kolumnen Sex identifierar kategorierna på data. Du kan hålla muspekaren över baren (man i det här fallet) för att se detaljerna för dessa kategorier, som det totala antalet rader med värdet male och dess fördelning i den totala visualiserade datamängden (64.07 % i detta exempel). Den framhäver också den totala procentandelen av saknade värden i en annan färg för kategoridata. För kvantitativa data som ticket kolumnen visar den fördelningen tillsammans med procentandelen ogiltiga värden.

Om du vill se en vanlig Panda-visualisering i anteckningsboken kan du välja Se Panda-bordet och växla mellan widgeten och Pandas-representationen, som visas i följande skärmdump.

Se Panda-bordet

visa tabellen för datawrangler

För att få mer detaljerade insikter om data i kolumnen, välj kolumnhuvudet för att öppna en sidopanel dedikerad till kolumnen. Här kan du se två flikar: Insikter och Datakvalitet.

Insikter och datakvalitet

I de följande avsnitten utforskar vi dessa två alternativ mer i detalj.

Insikter

Smakämnen Insikter fliken ger detaljer med beskrivningar för varje kolumn. Detta avsnitt listar aggregerad statistik, såsom läge, antal unika, kvoter och antal för saknade/ogiltiga värden, etc., samt visualiserar datadistribution med hjälp av ett histogram eller ett stapeldiagram. I följande skärmdumpar kan du kolla in datainsikterna och distributionsinformationen som visas med lättbegripliga visualiseringar som genereras för den valda kolumnen survived.

Datakvalitet

Studiodataprep-widgeten framhäver identifierade datakvalitetsproblem med varningsskylten i rubriken. Widget kan identifiera hela spektrumet av datakvalitetsproblem från grunderna (saknade värden, konstant kolumn, etc.) till mer ML-specifika (målläckage, funktioner med låg prediktiv poäng, etc.). Widget markerar cellerna som orsakar datakvalitetsproblemet och organiserar om raderna för att placera de problematiska cellerna överst. För att åtgärda datakvalitetsproblemet tillhandahåller widgeten flera transformatorer som kan användas med ett klick på en knapp.

För att utforska avsnittet om datakvalitet, välj kolumnrubriken och i sidopanelen väljer du Datakvalitet flik. Du bör se följande i din Studio-miljö.

fliken datakvalitet

Låt oss titta på de olika alternativen som finns tillgängliga på Datakvalitet flik. För det här exemplet väljer vi ålderskolumnen, som detekteras som en kvantitativ kolumn baserat på data. Som vi kan se i följande skärmdump föreslår den här widgeten olika typer av transformationer som du kan använda, inklusive de vanligaste åtgärderna, som t.ex. Ersätt med nytt värde, Droppe saknas, Ersätt med median, eller Ersätt med medelvärde. Du kan välja vilken som helst av dessa för din datauppsättning baserat på användningsfallet (ML-problemet du försöker lösa). Det ger dig också Släpp kolumn alternativet om du vill ta bort funktionen helt och hållet.

ålder

När du väljer Använd och exportera kod, appliceras transformationen på den djupa kopian av dataramen. När omvandlingen har tillämpats framgångsrikt uppdateras datatabellen med insikter och visualiseringar. Transformeringskoden genereras efter den befintliga cellen i anteckningsboken. Du kan köra den här exporterade koden senare för att tillämpa transformationen på dina datauppsättningar och utöka den enligt dina behov. Du kan anpassa transformationen genom att direkt modifiera den genererade koden. Om vi ​​tillämpar Droppe saknas alternativet i kolumnen Ålder tillämpas följande transformationskod på datasetet, och kod genereras också i en cell under widgeten:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Drop missing for column: age to resolve warning: Missing values 
output_df = output_df[output_df['age'].notnull()]

Följande är ett annat exempel på ett kodavsnitt för Ersätt med median:

#Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True) 

#Code to Replace with median for column: age to resolve warning: Missing values 
output_df['age']=output_df['age'].fillna(output_df['age'].median(skipna=True))

Låt oss nu titta på dataprep-widgetens målinsiktskapacitet. Anta att du vill använda survived funktion för att förutsäga om en passagerare kommer att överleva. Välj den survived kolumnrubriken. Välj i sidopanelen Välj som målkolumn. Den idealiska datadistributionen för survived funktion ska bara ha två klasser: ja (1) eller nej (0), som hjälper till att klassificera Titanic-kraschens överlevnadsmöjligheter. Men på grund av datainkonsekvenser i den valda målkolumnen har den överlevda funktionen 0, 1, ?, unknownoch yes.

välj som målkolumn

Välj problemtyp baserat på den valda målkolumnen, vilket kan vara antingen Klassificering or Regression. För den överlevda kolumnen är problemtypen klassificering. Välja Körning för att generera insikter för målkolumnen.

levde

Dataprep-widgeten listar målkolumnens insikter med rekommendationer och exempelförklaringar för att lösa problemen med målkolumnens datakvalitet. Den framhäver också automatiskt de onormala uppgifterna i kolumnen.

målkolumninsikter med rekommendationer

Vi väljer den rekommenderade transformationen Släpp sällsynta målvärden, eftersom det finns färre observationer för de sällsynta målvärdena.

Släpp sällsynt målvärde

Den valda transformationen tillämpas på Pandas dataram och de ovanliga målvärdena eliminerades från den överlevda kolumnen. Se följande kod:

# Pandas code generated by sagemaker_datawrangler
output_df = df.copy(deep=True)

# Code to Drop rare target values for column: survived to resolve warning: Too few instances per class 
rare_target_labels_to_drop = ['?', 'unknown', 'yes']
output_df = output_df[~output_df['survived'].isin(rare_target_labels_to_drop)]

Resultaten av den tillämpade transformationen är omedelbart synliga på dataramen. För att spåra dataförberedande aktiviteter som tillämpas med hjälp av dataprep-widgeten, genereras den transformerade koden också i följande anteckningsbokcell.

Slutsats

I det här inlägget gav vi vägledning om hur Studio-dataprep-widgeten kan hjälpa dig att analysera datadistributioner, utforska datakvalitetsinsikter som genereras av verktyget och avslöja potentiella problem som extremvärden för varje kritisk funktion. Detta hjälper till att förbättra den övergripande datakvaliteten för att hjälpa dig att träna högkvalitativa modeller, och det tar bort de odifferentierade tunga lyften genom att låta dig transformera data i användargränssnittet och generera kod för bärbara celler automatiskt. Du kan sedan använda den här koden i dina MLOps-pipelines för att bygga upp reproducerbarhet, undvika att slösa tid på repetitiva uppgifter och minska kompatibilitetsproblem genom att påskynda konstruktionen och distributionen av pipelines för databråk.

Om du är ny på SageMaker Data Wrangler eller Studio, se Kom igång med SageMaker Data Wrangler. Om du har några frågor relaterade till det här inlägget, lägg till det i kommentarsfältet.


Om författarna

Interaktiv dataprep-widget för bärbara datorer som drivs av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Parth Patel är en lösningsarkitekt på AWS i San Francisco Bay Area. Parth vägleder kunder att påskynda sin resa till molnet och hjälpa dem att framgångsrikt anta och växa på AWS Cloud. Han fokuserar på maskininlärning, miljömässig hållbarhet och applikationsmodernisering.

Interaktiv dataprep-widget för bärbara datorer som drivs av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Isha Dua är en senior lösningsarkitekt baserad i San Francisco Bay Area. Hon hjälper AWS Enterprise-kunder att växa genom att förstå deras mål och utmaningar och vägleda dem om hur de kan utforma sina applikationer på ett molnbaserat sätt samtidigt som de ser till att de är motståndskraftiga och skalbara. Hon brinner för maskininlärningsteknik och miljömässig hållbarhet.

Interaktiv dataprep-widget för bärbara datorer som drivs av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Hariharan Suresh är Senior Solutions Architect på AWS. Han brinner för databaser, maskininlärning och att designa innovativa lösningar. Innan han började på AWS var Hariharan produktarkitekt, specialist på implementering av kärnbanker och utvecklare och arbetade med BFSI-organisationer i över 11 år. Utanför tekniken tycker han om att skärmflyga och cykla.

Interaktiv dataprep-widget för bärbara datorer som drivs av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Dani Mitchell är en AI/ML Specialist Solutions Architect på Amazon Web Services. Han är fokuserad på användningsfall för Computer Vision och att hjälpa kunder över hela EMEA att påskynda sin ML-resa.

Tidsstämpel:

Mer från AWS maskininlärning