Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler

Amazon SageMaker Data Wrangler er et specialbygget dataaggregerings- og forberedelsesværktøj til maskinlæring (ML). Det giver dig mulighed for at bruge en visuel grænseflade til at få adgang til data og udføre undersøgende dataanalyse (EDA) og feature engineering. EDA-funktionen kommer med indbyggede dataanalysefunktioner til diagrammer (såsom scatterplot eller histogram) og tidsbesparende modelanalysefunktioner såsom funktionsvigtighed, mållækage og modelforklarlighed. Funktionsteknologien har over 300 indbyggede transformationer og kan udføre brugerdefinerede transformationer ved hjælp af enten Python, PySpark eller Spark SQL runtime.

Til tilpassede visualiseringer og transformationer giver Data Wrangler nu eksempler på kodestykker til almindelige typer visualiseringer og transformationer. I dette indlæg viser vi, hvordan du bruger disse kodestykker til at hurtigstarte din EDA i Data Wrangler.

Løsningsoversigt

I skrivende stund kan du importere datasæt til Data Wrangler fra Amazon Simple Storage Service (Amazon S3), Amazonas Athena, Amazon rødforskydning, Databricks og Snowflake. Til dette indlæg bruger vi Amazon S3 til at gemme 2014 Amazon gennemgår datasæt. Følgende er et eksempel på datasættet:

{ "reviewerID": "A2SUAM1J3GNN3B", "asin": "0000013714", "reviewerName": "J. McDonald", "helpful": [2, 3], "reviewText": "I bought this for my husband who plays the piano. He is having a wonderful time playing these old hymns. The music is sometimes hard to read because we think the book was published for singing from more than playing from. Great purchase though!", "overall": 5.0, "summary": "Heavenly Highway Hymns", "unixReviewTime": 1252800000, "reviewTime": "09 13, 2009" } 

I dette indlæg udfører vi EDA ved hjælp af tre kolonner—asin, reviewTimeog overall— som er knyttet til henholdsvis produkt-id'et, anmeldelsestidsdatoen og den samlede anmeldelsesscore. Vi bruger disse data til at visualisere dynamikken for antallet af anmeldelser på tværs af måneder og år.

Brug af eksempelkodestykke til EDA i Data Wrangler

For at begynde at udføre EDA i Data Wrangler skal du udføre følgende trin:

  1. Download Digital Music anmeldelser datasæt JSON og upload det til Amazon S3.
    Vi bruger dette som det rå datasæt til EDA.
  2. Åbne Amazon SageMaker Studio og opret et nyt Data Wrangler-flow og importer datasættet fra Amazon S3.

    Dette datasæt har ni kolonner, men vi bruger kun tre: asin, reviewTimeog overall. Vi er nødt til at droppe de andre seks kolonner.

  3. Opret en tilpasset transformation og vælg Python (PySpark).
  4. Udvid Søg i eksempeluddrag Og vælg Slet alle kolonner undtagen flere.
  5. Indtast det medfølgende uddrag i din tilpassede transformation, og følg vejledningen for at ændre koden.
    # Specify the subset of columns to keep
    cols = ["asin", "reviewTime", "overall"] cols_to_drop = set(df.columns).difference(cols) df = df.drop(*cols_to_drop)

    Nu hvor vi har alle de kolonner, vi har brug for, lad os filtrere dataene ned for kun at beholde anmeldelser mellem 2000-2020.

  6. Brug Filtertidsstempel uden for rækkevidde uddrag for at droppe dataene før år 2000 og efter 2020:
    from pyspark.sql.functions import col
    from datetime import datetime # specify the start and the stop timestamp
    timestamp_start = datetime.strptime("2000-01-01 12:00:00", "%Y-%m-%d %H:%M:%S")
    timestamp_stop = datetime.strptime("2020-01-01 12:00:00", "%Y-%m-%d %H:%M:%S") df = df.filter(col("reviewTime").between(timestamp_start, timestamp_stop))

    Dernæst udtrækker vi året og måneden fra kolonnen reviewTime.

  7. Brug Vis dato/tid transformere.
  8. Til Udtræk kolonner, vælg år , måned.

    Dernæst ønsker vi at aggregere antallet af anmeldelser efter år og måned, som vi oprettede i det forrige trin.

  9. Brug Beregn statistik i grupper uddrag:
    # Table is available as variable `df`
    from pyspark.sql.functions import sum, avg, max, min, mean, count # Provide the list of columns defining groups
    groupby_cols = ["reviewTime_year", "reviewTime_month"] # Specify the map of aggregate function to the list of colums
    # aggregates to use: sum, avg, max, min, mean, count
    aggregate_map = {count: ["overall"]} all_aggregates = []
    for a, cols in aggregate_map.items(): all_aggregates += [a(col) for col in cols] df = df.groupBy(groupby_cols).agg(*all_aggregates)

  10. Omdøb sammenlægningen af ​​det forrige trin fra count(overall) til reviews_num ved at vælge Administrer kolonner og Omdøb kolonne transformere.
    Endelig ønsker vi at lave et varmekort for at visualisere fordelingen af ​​anmeldelser efter år og måned.
  11. Vælg på analysefanen Brugerdefineret visualisering.
  12. Udvid Søg efter uddrag Og vælg Heatmap i rullemenuen.
  13. Indtast det medfølgende uddrag i din tilpassede visualisering:
    # Table is available as variable `df`
    # Table is available as variable `df`
    import altair as alt # Takes first 1000 records of the Dataframe
    df = df.head(1000) chart = ( alt.Chart(df) .mark_rect() .encode( # Specify the column names for X and Y axis, # Both should have discrete values: ordinal (:O) or nominal (:N) x= "reviewTime_year:O", y="reviewTime_month:O", # Color can be both discrete (:O, :N) and quantitative (:Q) color="reviews_num:Q", ) .interactive()
    )

    Vi får følgende visualisering.

    Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
    Hvis du vil forbedre varmekortet yderligere, kan du opdele dataene til kun at vise anmeldelser før 2011. Disse er svære at identificere i det varmekort, vi lige har oprettet på grund af store mængder anmeldelser siden 2012.

  14. Tilføj en linje kode til din tilpassede visualisering:
    # Table is available as variable `df`
    import altair as alt df = df[df.reviewTime_year < 2011]
    # Takes first 1000 records of the Dataframe
    df = df.head(1000) chart = ( alt.Chart(df) .mark_rect() .encode( # Specify the column names for X and Y axis, # Both should have discrete values: ordinal (:O) or nominal (:N) x= "reviewTime_year:O", y="reviewTime_month:O", # Color can be both discrete (:O, :N) and quantitative (:Q) color="reviews_num:Q", ) .interactive()
    )

Vi får følgende varmekort.

Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Nu afspejler heatmap anmeldelserne før 2011 mere synligt: ​​vi kan observere sæsoneffekterne (slutningen af ​​året bringer flere køb og derfor flere anmeldelser) og kan identificere unormale måneder, såsom oktober 2003 og marts 2005. Det er værd at undersøge nærmere at fastslå årsagen til disse uregelmæssigheder.

Konklusion

Data Wrangler er et specialbygget dataaggregations- og forberedelsesværktøj til ML. I dette indlæg demonstrerede vi, hvordan du udfører EDA og transformerer dine data hurtigt ved hjælp af kodestykker leveret af Data Wrangler. Du skal bare finde et uddrag, indtaste koden og justere parametrene, så de matcher dit datasæt. Du kan fortsætte med at iterere på dit script for at skabe mere komplekse visualiseringer og transformationer.
For at lære mere om Data Wrangler, se Opret og brug et datawrangler-flow.


Om forfatterne

Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Nikita Ivkin er en anvendt videnskabsmand, Amazon SageMaker Data Wrangler.

Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Haider Naqvi er Solutions Architect hos AWS. Han har omfattende erfaring med softwareudvikling og virksomhedsarkitektur. Han fokuserer på at gøre det muligt for kunderne at opnå forretningsresultater med AWS. Han er baseret i New York.

Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Harish Rajagopalan er Senior Solutions Architect hos Amazon Web Services. Harish arbejder med virksomhedskunder og hjælper dem med deres cloudrejse.

Forbered data hurtigere med PySpark og Altair kodestykker i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Lodret søgning. Ai.James Wu er Senior AI/ML Specialist SA hos AWS. Han arbejder med kunder for at fremskynde deres cloud-rejse og fremskynde deres forretningsværdirealisering. Ud over det brænder James også for at udvikle og skalere store AI/ML-løsninger på tværs af forskellige domæner. Før han kom til AWS, ledede han et multidisciplinært innovationsteknologiteam med ML-ingeniører og softwareudviklere for et globalt topfirma inden for markeds- og reklamebranchen.

Tidsstempel:

Mere fra AWS maskinindlæring