Forbered data raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Forbered data raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler

Amazon SageMaker Data Wrangler er et spesialbygd dataaggregerings- og forberedelsesverktøy for maskinlæring (ML). Den lar deg bruke et visuelt grensesnitt for å få tilgang til data og utføre utforskende dataanalyse (EDA) og funksjonsutvikling. EDA-funksjonen kommer med innebygde dataanalysefunksjoner for diagrammer (som spredningsplott eller histogram) og tidsbesparende modellanalysefunksjoner som funksjonsviktighet, mållekkasje og modellforklarbarhet. Funksjonsteknologien har over 300 innebygde transformasjoner og kan utføre tilpassede transformasjoner ved å bruke enten Python, PySpark eller Spark SQL-kjøring.

For tilpassede visualiseringer og transformasjoner tilbyr Data Wrangler nå eksempler på kodebiter for vanlige typer visualiseringer og transformasjoner. I dette innlegget viser vi hvordan du bruker disse kodebitene for å hurtigstarte din EDA i Data Wrangler.

Løsningsoversikt

Når dette skrives, kan du importere datasett til Data Wrangler fra Amazon enkel lagringstjeneste (Amazon S3), Amazonas Athena, Amazon RedShift, Databricks og Snowflake. For dette innlegget bruker vi Amazon S3 til å lagre 2014 Amazon anmeldelser datasett. Følgende er et eksempel på datasettet:

{ "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 innlegget utfører vi EDA ved å bruke tre kolonner—asin, reviewTimeog overall– som tilordnes henholdsvis produkt-ID, anmeldelsestidsdato og den samlede vurderingspoengsummen. Vi bruker disse dataene til å visualisere dynamikken for antall anmeldelser over måneder og år.

Bruke eksempelkodebit for EDA i Data Wrangler

For å begynne å utføre EDA i Data Wrangler, fullfør følgende trinn:

  1. Last ned Digital musikk anmeldelser datasett JSON og last den opp til Amazon S3.
    Vi bruker dette som rådatasettet for EDA.
  2. Åpen Amazon SageMaker Studio og lag en ny Data Wrangler-flyt og importer datasettet fra Amazon S3.

    Dette datasettet har ni kolonner, men vi bruker bare tre: asin, reviewTimeog overall. Vi må droppe de andre seks kolonnene.

  3. Lag en tilpasset transformasjon og velg Python (PySpark).
  4. Expand Søk i eksempelbiter Og velg Slipp alle kolonner unntatt flere.
  5. Skriv inn den medfølgende kodebiten i din egendefinerte transformasjon og følg instruksjonene for å endre 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)

    Nå som vi har alle kolonnene vi trenger, la oss filtrere dataene ned for kun å beholde anmeldelser mellom 2000–2020.

  6. Bruke Filtertidsstempel utenfor rekkevidde utdrag for å slippe dataene før år 2000 og etter 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))

    Deretter trekker vi ut året og måneden fra kolonnen reviewTime.

  7. Bruke Vis dato/klokkeslett forvandle.
  8. Til Trekk ut kolonner, velg år og måned.

    Deretter ønsker vi å samle antall anmeldelser etter år og måned som vi opprettet i forrige trinn.

  9. Bruke Beregn statistikk i grupper utdrag:
    # 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. Gi nytt navn til aggregeringen av forrige trinn fra count(overall) til reviews_num ved å velge Administrer kolonner og Gi kolonnen nytt navn forvandle.
    Til slutt ønsker vi å lage et varmekart for å visualisere fordelingen av anmeldelser etter år og måned.
  11. På analysefanen velger du Tilpasset visualisering.
  12. Expand Søk etter utdrag Og velg Varmekart på rullegardinmenyen.
  13. Skriv inn kodebiten som følger med i din egendefinerte 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 raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.
    Hvis du vil forbedre varmekartet ytterligere, kan du dele opp dataene til kun å vise anmeldelser før 2011. Disse er vanskelige å identifisere i varmekartet vi nettopp har laget på grunn av store mengder anmeldelser siden 2012.

  14. Legg til én kodelinje i din egendefinerte 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 varmekart.

Forbered data raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.

Nå gjenspeiler varmekartet vurderingene før 2011 mer synlig: vi kan observere sesongeffektene (slutten av året gir flere kjøp og dermed flere anmeldelser) og kan identifisere unormale måneder, som oktober 2003 og mars 2005. Det er verdt å undersøke nærmere for å finne årsaken til disse anomaliene.

konklusjonen

Data Wrangler er et spesialbygd dataaggregerings- og forberedelsesverktøy for ML. I dette innlegget demonstrerte vi hvordan du utfører EDA og transformerer dataene dine raskt ved hjelp av kodebiter levert av Data Wrangler. Du trenger bare å finne en kodebit, skrive inn koden og justere parametrene for å matche datasettet ditt. Du kan fortsette å iterere på skriptet ditt for å lage mer komplekse visualiseringer og transformasjoner.
For å lære mer om Data Wrangler, se Opprett og bruk en Data Wrangler-flyt.


Om forfatterne

Forbered data raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Nikita Ivkin er en Applied Scientist, Amazon SageMaker Data Wrangler.

Forbered data raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Haider Naqvi er løsningsarkitekt hos AWS. Han har omfattende erfaring med programvareutvikling og bedriftsarkitektur. Han fokuserer på å gjøre det mulig for kunder å oppnå forretningsresultater med AWS. Han er basert i New York.

Forbered data raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.Harish Rajagopalan er senior løsningsarkitekt hos Amazon Web Services. Harish jobber med bedriftskunder og hjelper dem med deres skyreise.

Forbered data raskere med PySpark og Altair-kodebiter i Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Vertikalt søk. Ai.James Wu er senior AI/ML Specialist SA hos AWS. Han jobber med kunder for å akselerere deres skyreise og raskere realiseringen av forretningsverdien deres. I tillegg til det brenner James også for å utvikle og skalere store AI/ML-løsninger på tvers av ulike domener. Før han begynte i AWS, ledet han et multidisiplin innovasjonsteknologiteam med ML-ingeniører og programvareutviklere for et globalt toppfirma innen markeds- og reklamebransjen.

Tidstempel:

Mer fra AWS maskinlæring