Interaktiv dataforberedelseswidget til notebooks drevet af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Interaktiv dataforberedelseswidget til notebooks drevet af Amazon SageMaker Data Wrangler

Ifølge en 2020-undersøgelse blandt dataforskere udført af Anaconda er dataforberedelse et af de kritiske trin i maskinlæring (ML) og dataanalyse arbejdsgange, og ofte meget tidskrævende for dataforskere. Dataforskere bruger omkring 66 % af deres tid på dataforberedelse og analyseopgaver, herunder indlæsning (19 %), rengøring (26 %) og visualisering af data (21 %).

Amazon SageMaker Studio er det første fuldt integrerede udviklingsmiljø (IDE) til ML. Med et enkelt klik kan dataforskere og udviklere hurtigt spinne op Studio notesbøger at udforske datasæt og bygge modeller. Hvis du foretrækker en GUI-baseret og interaktiv grænseflade, kan du bruge Amazon SageMaker Data Wrangler, med over 300 indbyggede visualiseringer, analyser og transformationer til effektivt at behandle data understøttet af Spark uden at skrive en enkelt linje kode.

Data Wrangler tilbyder nu en indbygget dataforberedelsesfunktion i Amazon SageMaker Studio notesbøger der gør det muligt for ML-praktiserende læger visuelt at gennemgå datakarakteristika, identificere problemer og afhjælpe problemer med datakvalitet – med blot et par klik direkte i notesbøgerne.

I dette indlæg viser vi dig, hvordan Data Wrangler data prep widget genererer automatisk nøglevisualiseringer oven på en Pandas dataramme for at forstå datadistribution, detektere datakvalitetsproblemer og overfladedataindsigt såsom outliers for hver funktion. Det hjælper med at interagere med dataene og opdage indsigt, der kan gå ubemærket hen med ad hoc-forespørgsler. Den anbefaler også transformationer for at afhjælpe, giver dig mulighed for at anvende datatransformationer på brugergrænsefladen og automatisk generere kode i notebook-cellerne. Denne funktion er tilgængelig i alle regioner, hvor SageMaker Studio er tilgængelig.

Løsningsoversigt

Lad os yderligere forstå, hvordan denne nye widget gør dataudforskning væsentligt nemmere og giver en problemfri oplevelse for at forbedre den overordnede dataforberedelsesoplevelse for dataingeniører og praktikere. Til vores brugssag bruger vi en modificeret version af Titanic datasæt, et populært datasæt i ML-fællesskabet, som nu er tilføjet som en eksempeldatasæt så du hurtigt kan komme i gang med SageMaker Data Wrangler. Det originale datasæt er hentet fra OpenML, og modificeret for at tilføje syntetiske datakvalitetsproblemer af Amazon til denne demo. Du kan downloade den ændrede version af datasættet fra den offentlige S3-sti s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv.

Forudsætninger

For at få praktisk erfaring med alle de funktioner, der er beskrevet i dette indlæg, skal du udfylde følgende forudsætninger:

  1. Sørg for at du har en AWS-konto, sikker adgang til at logge ind på kontoen via AWS Management Consoleog AWS identitets- og adgangsstyring (IAM) tilladelser til at bruge Amazon SageMaker , Amazon Simple Storage Service (Amazon S3) ressourcer.
  2. Brug eksempeldatasættet fra den offentlige S3-sti s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv eller alternativt upload det til en S3-bøtte på din konto.
  3. Gå ombord på et SageMaker-domæne og få adgang til Studio for at bruge notebooks. For instruktioner, se Ombord på Amazon SageMaker Domain. Hvis du bruger eksisterende Studio, skal du opgradere til seneste version af Studio.

Aktiver dataudforskningswidgetten

Når du bruger Pandas-datarammer, kan Studio-notebook-brugere manuelt aktivere dataudforskningswidgetten, så nye visualiseringer vises som standard øverst i hver kolonne. Widgetten viser et histogram for numeriske data og et søjlediagram for andre typer data. Disse repræsentationer giver dig mulighed for hurtigt at forstå datafordelingen og opdage manglende værdier og outliers uden at skulle skrive standardmetoder for hver eneste kolonne. Du kan holde markøren over bjælken i hver visualisering for at få en hurtig forståelse af fordelingen.

Åbn Studio og opret en ny Python 3 notesbog. Sørg for at vælge Datavidenskab 3.0 billede fra SageMaker billeder ved at klikke Skift miljø .

Dataudforskningswidgetten er tilgængelig på de følgende billeder. Se listen over standard SageMaker-billeder Tilgængelige Amazon SageMaker-billeder.

  • 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 og 2.0

For at bruge denne widget skal du importere SageMaker_DataWrangler bibliotek. Indlæs den ændrede version af Titanic-datasættet fra S3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv og læs CSV'en med Pandas-biblioteket:

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()))

data wrangler data prep widget - eksempel notesbog

Visualiser dataene

Når dataene er indlæst i Pandas-datarammen, kan du se dataene ved blot at bruge df or display(df). Sammen med en liste over rækken producerer dataforberedelseswidgetten indsigt, visualiseringer og råd om datakvalitet. Du behøver ikke at skrive yderligere kode for at generere funktions- og målindsigt, distributionsoplysninger eller gengivelsesdatakvalitetstjek. Du kan vælge datarammetabellens overskrift for at se den statistiske oversigt, der viser eventuelle advarsler om datakvalitet.

visualisere dataene

Hver kolonne viser et søjlediagram eller histogram baseret på datatypen. Som standard prøver widgetten op til 10,000 observationer for at generere meningsfuld indsigt. Det giver også mulighed for at køre indsigtsanalysen på hele datasættet.

Som vist på det følgende skærmbillede identificerer denne widget, om en kolonne har kategoriske eller kvantitative data.

kategoriske eller kvantitative data

For kategoriske data genererer widgetten søjlediagrammet med alle kategorierne. I det følgende skærmbillede, for eksempel kolonnen Sex identificerer kategorierne på dataene. Du kan svæve over baren (mand i dette tilfælde) for at se detaljerne for disse kategorier, som det samlede antal rækker med værdien male og dets fordeling i det samlede visualiserede datasæt (64.07 % i dette eksempel). Det fremhæver også den samlede procentdel af manglende værdier i en anden farve for kategoriske data. For kvantitative data som ticket kolonne, viser den fordelingen sammen med procentdelen af ​​ugyldige værdier.

Hvis du vil se en standard Pandas-visualisering i notesbogen, kan du vælge Se Panda-bordet og skift mellem widgetten og Pandas-repræsentationen, som vist på det følgende skærmbillede.

Se Panda-bordet

se datawrangler-tabellen

For at få mere detaljeret indsigt om dataene i kolonnen skal du vælge kolonnens overskrift for at åbne et sidepanel dedikeret til kolonnen. Her kan du se to faner: Insights , Datakvalitet.

Indsigt og datakvalitet

I de følgende afsnit undersøger vi disse to muligheder mere detaljeret.

Insights

Insights fanen giver detaljer med beskrivelser for hver kolonne. Dette afsnit viser aggregerede statistikker, såsom tilstand, antal unikke, forhold og antal for manglende/ugyldige værdier osv., samt visualiserer datafordeling ved hjælp af et histogram eller et søjlediagram. I de følgende skærmbilleder kan du se dataindsigten og distributionsinformationen, der vises med letforståelige visualiseringer genereret for den valgte kolonne survived.

Datakvalitet

Studiedataforberedelseswidgetten fremhæver identificerede datakvalitetsproblemer med advarselstegnet i overskriften. Widget kan identificere hele spektret af datakvalitetsproblemer fra grundlæggende (manglende værdier, konstant kolonne osv.) til mere ML-specifikke (mållækage, lav prædiktiv scorefunktioner osv.). Widget fremhæver de celler, der forårsager datakvalitetsproblemet, og omorganiserer rækkerne for at placere de problematiske celler øverst. For at afhjælpe datakvalitetsproblemet giver widgetten flere transformatorer, der kan anvendes med et klik på en knap.

For at udforske datakvalitetssektionen skal du vælge kolonneoverskriften og i sidepanelet vælge Datakvalitet fanen. Du bør se følgende i dit Studio-miljø.

fanen datakvalitet

Lad os se på de forskellige muligheder, der er tilgængelige på Datakvalitet fanen. Til dette eksempel vælger vi alderskolonnen, som detekteres som en kvantitativ kolonne baseret på dataene. Som vi kan se på det følgende skærmbillede, foreslår denne widget forskellige typer transformationer, som du kan anvende, inklusive de mest almindelige handlinger, som f.eks. Erstat med ny værdi, Drop mangler, Udskift med median eller Erstat med middel. Du kan vælge en af ​​dem til dit datasæt baseret på use casen (det ML-problem, du prøver at løse). Det giver dig også Drop kolonne mulighed, hvis du vil fjerne funktionen helt.

alder

Når du vælger Anvend og eksporter kode, anvendes transformationen på den dybe kopi af datarammen. Efter at transformationen er anvendt korrekt, opdateres datatabellen med indsigt og visualiseringer. Transformationskoden genereres efter den eksisterende celle i notesbogen. Du kan køre denne eksporterede kode senere for at anvende transformationen på dine datasæt og udvide den efter dine behov. Du kan tilpasse transformationen ved direkte at ændre den genererede kode. Hvis vi anvender Drop mangler mulighed i kolonnen Alder, anvendes følgende transformationskode på datasættet, og kode genereres også i en celle under widgetten:

#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()]

Det følgende er endnu et eksempel på et kodestykke til Udskift 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))

Lad os nu se på dataforberedelseswidgettens målindsigtsevne. Antag, at du vil bruge survived funktion til at forudsige, om en passager vil overleve. Vælg survived kolonneoverskrift. Vælg i sidepanelet Vælg som målkolonne. Den ideelle datadistribution til survived funktion skal kun have to klasser: ja (1) eller nej (0), som hjælper med at klassificere Titanic-styrtets overlevelseschancer. På grund af datainkonsekvenser i den valgte målkolonne har den overlevede funktion dog 0, 1, ?, unknownog yes.

vælg som målkolonne

Vælg problemtype baseret på den valgte målkolonne, som kan være enten Klassifikation or Regression. For den overlevede kolonne er problemtypen klassifikation. Vælge Kør for at generere indsigt til målkolonnen.

overlevede

Dataforberedelseswidgetten viser målkolonnens indsigt med anbefalinger og eksempelforklaringer til at løse problemerne med målkolonnens datakvalitet. Det fremhæver også automatisk de unormale data i kolonnen.

målkolonneindsigt med anbefalinger

Vi vælger den anbefalede transformation Drop sjældne målværdier, fordi der er færre observationer for de sjældne målværdier.

Drop sjælden målværdi

Den valgte transformation anvendes på Pandas-datarammen, og de ualmindelige målværdier blev elimineret fra den overlevede kolonne. Se følgende kode:

# 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)]

Resultaterne af den anvendte transformation er umiddelbart synlige på datarammen. For at spore dataforberedelsesaktiviteterne, der er anvendt ved hjælp af dataforberedelseswidgetten, genereres den transformerede kode også i den følgende notesbogscelle.

Konklusion

I dette indlæg gav vi vejledning i, hvordan Studio-dataforberedelseswidgetten kan hjælpe dig med at analysere datadistributioner, udforske datakvalitetsindsigt genereret af værktøjet og afdække potentielle problemer såsom outliers for hver kritisk funktion. Dette hjælper med at forbedre den overordnede datakvalitet for at hjælpe dig med at træne modeller af høj kvalitet, og det fjerner de udifferentierede tunge løft ved at give dig mulighed for at transformere data på brugergrænsefladen og generere kode til notebook-cellerne automatisk. Du kan derefter bruge denne kode i dine MLOps-pipelines til at opbygge reproducerbarhed, undgå at spilde tid på gentagne opgaver og reducere kompatibilitetsproblemer ved at fremskynde konstruktionen og udrulningen af ​​data-rivling-pipelines.

Hvis du er ny til SageMaker Data Wrangler eller Studio, se Kom godt i gang med SageMaker Data Wrangler. Hvis du har spørgsmål relateret til dette indlæg, bedes du tilføje det i kommentarfeltet.


Om forfatterne

Interaktiv dataforberedelseswidget til notebooks drevet af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Parth Patel er Solutions Architect hos AWS i San Francisco Bay Area. Parth guider kunder til at accelerere deres rejse til skyen og hjælpe dem med at adoptere og vokse på AWS Cloud med succes. Han fokuserer på maskinlæring, miljømæssig bæredygtighed og applikationsmodernisering.

Interaktiv dataforberedelseswidget til notebooks drevet af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Isha Dua er en Senior Solutions Architect baseret i San Francisco Bay Area. Hun hjælper AWS Enterprise-kunder med at vokse ved at forstå deres mål og udfordringer og vejlede dem i, hvordan de kan opbygge deres applikationer på en cloud-native måde og samtidig sikre, at de er robuste og skalerbare. Hun brænder for maskinlæringsteknologier og miljømæssig bæredygtighed.

Interaktiv dataforberedelseswidget til notebooks drevet af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Hariharan Suresh er Senior Solutions Architect hos AWS. Han brænder for databaser, maskinlæring og design af innovative løsninger. Før han kom til AWS, var Hariharan produktarkitekt, specialist i implementering af kernebankvirksomhed og udvikler og arbejdede med BFSI-organisationer i over 11 år. Uden for teknologien nyder han paragliding og cykling.

Interaktiv dataforberedelseswidget til notebooks drevet af Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Dani Mitchell er AI/ML Specialist Solutions Architect hos Amazon Web Services. Han er fokuseret på Computer Vision use cases og hjælper kunder på tværs af EMEA med at accelerere deres ML-rejse.

Tidsstempel:

Mere fra AWS maskinindlæring