Interaktiv dataprep-widget for bærbare datamaskiner drevet av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Interaktiv dataforberedelseswidget for bærbare datamaskiner drevet av Amazon SageMaker Data Wrangler

I følge en 2020-undersøkelse blant dataforskere utført av Anaconda, er dataforberedelse et av de kritiske trinnene i arbeidsflyter for maskinlæring (ML) og dataanalyse, og ofte svært tidkrevende for dataforskere. Dataforskere bruker omtrent 66 % av tiden sin på dataforberedelse og analyseoppgaver, inkludert lasting (19 %), rengjøring (26 %) og visualisering av data (21 %).

Amazon SageMaker Studio er det første fullt integrerte utviklingsmiljøet (IDE) for ML. Med et enkelt klikk kan dataforskere og utviklere raskt snurre opp Studio-notatbøker å utforske datasett og bygge modeller. Hvis du foretrekker et GUI-basert og interaktivt grensesnitt, kan du bruke Amazon SageMaker Data Wrangler, med over 300 innebygde visualiseringer, analyser og transformasjoner for å effektivt behandle data støttet av Spark uten å skrive en eneste linje med kode.

Data Wrangler tilbyr nå en innebygd dataforberedelsesfunksjon i Amazon SageMaker Studio-notatbøker som lar ML-utøvere visuelt gjennomgå datakarakteristikker, identifisere problemer og rette opp problemer med datakvalitet – med bare noen få klikk direkte i den bærbare datamaskinen.

I dette innlegget viser vi deg hvordan Data Wrangler dataprep-widget genererer automatisk nøkkelvisualiseringer på toppen av en Pandas-dataramme for å forstå datadistribusjon, oppdage datakvalitetsproblemer og overflatedatainnsikt som uteliggere for hver funksjon. Det hjelper å samhandle med dataene og oppdage innsikt som kan gå ubemerket hen med ad hoc-spørringer. Den anbefaler også transformasjoner for å utbedre, lar deg bruke datatransformasjoner på brukergrensesnittet og automatisk generere kode i cellene i den bærbare datamaskinen. Denne funksjonen er tilgjengelig i alle regioner der SageMaker Studio er tilgjengelig.

Løsningsoversikt

La oss forstå hvordan denne nye widgeten gjør datautforskning betydelig enklere og gir en sømløs opplevelse for å forbedre den generelle dataforberedelsesopplevelsen for dataingeniører og praktikere. For vårt bruk bruker vi en modifisert versjon av Titanic datasett, et populært datasett i ML-fellesskapet, som nå er lagt til som en eksempel datasett slik at du raskt kan komme i gang med SageMaker Data Wrangler. Det opprinnelige datasettet ble hentet fra OpenML, og modifisert for å legge til problemer med syntetisk datakvalitet av Amazon for denne demoen. Du kan laste ned den modifiserte versjonen av datasettet fra offentlig S3-bane s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv.

Forutsetninger

For å få praktisk erfaring med alle funksjonene beskrevet i dette innlegget, fullfør følgende forutsetninger:

  1. Sørg for at du har en AWS-konto, sikker tilgang for å logge på kontoen via AWS-administrasjonskonsollog AWS identitets- og tilgangsadministrasjon (IAM) tillatelser å bruke Amazon SageMaker og Amazon enkel lagringstjeneste (Amazon S3) ressurser.
  2. Bruk eksempeldatasettet fra offentlig S3-bane s3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv eller alternativt last den opp til en S3-bøtte i kontoen din.
  3. Gå ombord på et SageMaker-domene og få tilgang til Studio for å bruke notatbøker. For instruksjoner, se Ombord på Amazon SageMaker Domain. Hvis du bruker eksisterende Studio, oppgrader til siste versjon av Studio.

Aktiver widgeten for datautforskning

Når du bruker Pandas datarammer, kan Studio bærbare brukere manuelt aktivere datautforskningswidgeten slik at nye visualiseringer vises som standard øverst i hver kolonne. Widgeten viser et histogram for numeriske data og et stolpediagram for andre typer data. Disse representasjonene lar deg raskt forstå datadistribusjonen og oppdage manglende verdier og uteliggere uten å måtte skrive standardmetoder for hver eneste kolonne. Du kan holde musepekeren over linjen i hver visualisering for å få en rask forståelse av distribusjonen.

Åpne Studio og lag en ny Python 3-notisbok. Sørg for å velge Datavitenskap 3.0 bilde fra SageMaker-bilder ved å klikke Bytt miljø knapp.

Datautforskningswidgeten er tilgjengelig i de følgende bildene. For listen over standard SageMaker-bilder, se Tilgjengelige 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 og 2.0

For å bruke denne widgeten, importer SageMaker_DataWrangler bibliotek. Last den modifiserte versjonen av Titanic-datasettet fra S3://sagemaker-sample-files/datasets/tabular/dirty-titanic/titanic-dirty-4.csv og les CSV 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 notatbok

Visualiser dataene

Etter at dataene er lastet inn i Pandas-datarammen, kan du se dataene ved å bare bruke df or display(df). Sammen med en liste over raden, produserer dataforberedelseswidgeten innsikt, visualiseringer og råd om datakvalitet. Du trenger ikke å skrive noen tilleggskode for å generere funksjons- og målinnsikt, distribusjonsinformasjon eller kvalitetskontroller for gjengivelse av data. Du kan velge datarammetabellens overskrift for å se det statistiske sammendraget som viser datakvalitetsadvarslene, hvis noen.

visualisere dataene

Hver kolonne viser et stolpediagram eller histogram basert på datatypen. Som standard prøver widgeten opptil 10,000 XNUMX observasjoner for å generere meningsfull innsikt. Det gir også muligheten til å kjøre innsiktsanalysen på hele datasettet.

Som vist i følgende skjermbilde identifiserer denne widgeten om en kolonne har kategoriske eller kvantitative data.

kategoriske eller kvantitative data

For kategoriske data genererer widgeten stolpediagrammet med alle kategoriene. I det følgende skjermbildet, for eksempel, kolonnen Sex identifiserer kategoriene på dataene. Du kan holde musepekeren over linjen (mann i dette tilfellet) for å se detaljene for disse kategoriene, som det totale antallet rader med verdien male og distribusjonen i det totale visualiserte datasettet (64.07 % i dette eksemplet). Den fremhever også den totale prosentandelen av manglende verdier i en annen farge for kategoriske data. For kvantitative data som ticket kolonne, viser den distribusjon sammen med prosentandelen av ugyldige verdier.

Hvis du vil se en standard Pandas-visualisering i notisboken, kan du velge Se Panda-bordet og veksle mellom widgeten og Pandas-representasjonen, som vist i følgende skjermbilde.

Se Panda-bordet

se tabellen for datasprang

For å få mer detaljert innsikt om dataene i kolonnen, velg kolonneoverskriften for å åpne et sidepanel dedikert til kolonnen. Her kan du se to faner: Insights og Datakvalitet.

Innsikt og datakvalitet

I de følgende delene utforsker vi disse to alternativene mer detaljert.

Insights

De Insights fanen gir detaljer med beskrivelser for hver kolonne. Denne delen viser aggregert statistikk, som modus, antall unike, forholdstall og antall for manglende/ugyldige verdier, etc., samt visualiserer datadistribusjon ved hjelp av et histogram eller et søylediagram. I de følgende skjermbildene kan du sjekke ut datainnsikten og distribusjonsinformasjonen som vises med lett forståelige visualiseringer generert for den valgte kolonnen survived.

Datakvalitet

Studiodataprep-widgeten fremhever identifiserte datakvalitetsproblemer med advarselstegnet i overskriften. Widget kan identifisere hele spekteret av datakvalitetsproblemer fra grunnleggende (manglende verdier, konstant kolonne, etc.) til mer ML-spesifikke (mållekkasje, funksjoner med lav prediktiv poengsum, etc.). Widget fremhever cellene som forårsaker datakvalitetsproblemet og omorganiser radene for å plassere de problematiske cellene øverst. For å avhjelpe datakvalitetsproblemet tilbyr widgeten flere transformatorer, som kan brukes med et klikk på en knapp.

For å utforske delen for datakvalitet, velg kolonneoverskriften, og velg i sidepanelet Datakvalitet fanen. Du bør se følgende i Studio-miljøet ditt.

kategorien datakvalitet

La oss se på de forskjellige alternativene som er tilgjengelige på Datakvalitet fanen. For dette eksempelet velger vi alderskolonnen, som oppdages som en kvantitativ kolonne basert på dataene. Som vi kan se i det følgende skjermbildet, foreslår denne widgeten forskjellige typer transformasjoner du kan bruke, inkludert de vanligste handlingene, som f.eks. Erstatt med ny verdi, Dråpen mangler, Erstatt med medianeller Bytt ut med gjennomsnittlig. Du kan velge hvilken som helst av disse for datasettet ditt basert på brukstilfellet (ML-problemet du prøver å løse). Det gir deg også Slipp kolonne alternativet hvis du vil fjerne funksjonen helt.

alder

Når du velger Bruk og eksporter kode, blir transformasjonen brukt på den dype kopien av datarammen. Etter at transformasjonen er brukt, oppdateres datatabellen med innsikten og visualiseringene. Transformasjonskoden genereres etter den eksisterende cellen i notatboken. Du kan kjøre denne eksporterte koden senere for å bruke transformasjonen på datasettene dine, og utvide den etter dine behov. Du kan tilpasse transformasjonen ved å direkte modifisere den genererte koden. Hvis vi bruker Dråpen mangler alternativet i Alder-kolonnen, blir følgende transformasjonskode brukt på datasettet, og kode genereres også i en celle 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ølgende er et annet eksempel på en kodebit for Erstatt 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))

La oss nå se på dataforberedelseswidgetens målinnsiktsevne. Anta at du vil bruke survived funksjon for å forutsi om en passasjer vil overleve. Velg survived kolonneoverskrift. Velg i sidepanelet Velg som målkolonne. Den ideelle datadistribusjonen for survived funksjonen skal bare ha to klasser: ja (1) eller ikke (0), som hjelper med å klassifisere Titanic-krasj-overlevelsessjansene. På grunn av datainkonsekvenser i den valgte målkolonnen har imidlertid den overlevde funksjonen 0, 1, ?, unknownog yes.

velg som målkolonne

Velg problemtype basert på den valgte målkolonnen, som kan være enten Klassifisering or Regresjon. For den overlevende kolonnen er problemtypen klassifisering. Velge Kjør for å generere innsikt for målkolonnen.

overlevde

Dataforberedelseswidgeten viser målkolonnens innsikt med anbefalinger og eksempelforklaringer for å løse problemene med målkolonnens datakvalitet. Den fremhever også automatisk de unormale dataene i kolonnen.

målkolonneinnsikt med anbefalinger

Vi velger den anbefalte transformasjonen Slipp sjeldne målverdier, fordi det er færre observasjoner for de sjeldne målverdiene.

Slipp sjelden målverdi

Den valgte transformasjonen brukes på Pandas-datarammen og de uvanlige målverdiene ble eliminert fra den overlevende kolonnen. 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)]

Resultatene av den anvendte transformasjonen er umiddelbart synlige på datarammen. For å spore dataforberedelsesaktivitetene som er brukt ved hjelp av dataforberedelseswidgeten, genereres den transformerte koden også i følgende bærbare celle.

konklusjonen

I dette innlegget ga vi veiledning om hvordan Studio-dataforberedelse-widgeten kan hjelpe deg med å analysere datadistribusjoner, utforske datakvalitetsinnsikt generert av verktøyet og avdekke potensielle problemer som avvikere for hver kritisk funksjon. Dette bidrar til å forbedre den generelle datakvaliteten for å hjelpe deg med å trene høykvalitetsmodeller, og det fjerner de udifferensierte tunge løftene ved å la deg transformere data på brukergrensesnittet og generere kode for bærbare celler automatisk. Du kan deretter bruke denne koden i MLOps-rørledningene dine for å bygge reproduserbarhet, unngå å kaste bort tid på repeterende oppgaver og redusere kompatibilitetsproblemer ved å fremskynde konstruksjonen og distribusjonen av rørledninger for datakrangel.

Hvis du er ny på SageMaker Data Wrangler eller Studio, se Kom i gang med SageMaker Data Wrangler. Hvis du har spørsmål knyttet til dette innlegget, vennligst legg det til i kommentarfeltet.


Om forfatterne

Interaktiv dataprep-widget for bærbare datamaskiner drevet av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Parth Patel er en løsningsarkitekt ved AWS i San Francisco Bay Area. Parth veileder kundene til å akselerere reisen til skyen og hjelpe dem å adoptere og vokse på AWS Cloud med suksess. Han fokuserer på maskinlæring, miljømessig bærekraft og applikasjonsmodernisering.

Interaktiv dataprep-widget for bærbare datamaskiner drevet av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Isha Dua er en senior løsningsarkitekt basert i San Francisco Bay Area. Hun hjelper AWS Enterprise-kunder med å vokse ved å forstå deres mål og utfordringer, og veilede dem om hvordan de kan bygge applikasjonene sine på en skybasert måte samtidig som de sørger for at de er robuste og skalerbare. Hun brenner for maskinlæringsteknologier og miljømessig bærekraft.

Interaktiv dataprep-widget for bærbare datamaskiner drevet av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Hariharan Suresh er Senior Solutions Architect hos AWS. Han brenner for databaser, maskinlæring og design av innovative løsninger. Før han begynte i AWS, var Hariharan produktarkitekt, kjernebankimplementeringsspesialist og utvikler, og jobbet med BFSI-organisasjoner i over 11 år. Utenom teknologien liker han paragliding og sykling.

Interaktiv dataprep-widget for bærbare datamaskiner drevet av Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Dani Mitchell er en AI/ML-spesialistløsningsarkitekt hos Amazon Web Services. Han er fokusert på Computer Vision-brukstilfeller og på å hjelpe kunder over hele EMEA med å akselerere deres ML-reise.

Tidstempel:

Mer fra AWS maskinlæring