Pripravite podatke hitreje z odrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Hitreje pripravite podatke z izrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler

Amazon SageMaker Data Wrangler je namensko ustvarjeno orodje za zbiranje in pripravo podatkov za strojno učenje (ML). Omogoča vam uporabo vizualnega vmesnika za dostop do podatkov in izvajanje raziskovalne analize podatkov (EDA) ter inženiring funkcij. Funkcija EDA ima vgrajene zmožnosti analize podatkov za grafikone (kot je razpršeni graf ali histogram) in zmožnostmi analize modelov, ki prihranijo čas, kot so pomembnost značilnosti, ciljno uhajanje in razložljivost modela. Zmogljivost inženiringa funkcij ima več kot 300 vgrajenih transformacij in lahko izvaja transformacije po meri z uporabo izvajalnega okolja Python, PySpark ali Spark SQL.

Za vizualizacije in transformacije po meri Data Wrangler zdaj ponuja primere izrezkov kode za običajne vrste vizualizacij in transformacij. V tej objavi prikazujemo, kako uporabiti te delčke kode za hiter zagon EDA v Data Wranglerju.

Pregled rešitev

V času tega pisanja lahko nabore podatkov uvozite v Data Wrangler iz Preprosta storitev shranjevanja Amazon (Amazon S3), Amazonska Atena, Amazon RedShift, Databricks in Snowflake. Za to objavo uporabljamo Amazon S3 za shranjevanje Amazona 2014 nabor podatkov pregledov. Sledi vzorec nabora podatkov:

{ "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" } 

V tej objavi izvajamo EDA z uporabo treh stolpcev –asin, reviewTimein overall— ki se preslikajo v ID izdelka, datum časa pregleda in skupno oceno pregleda. Te podatke uporabljamo za vizualizacijo dinamike števila pregledov po mesecih in letih.

Uporaba primera izrezka kode za EDA v Data Wranglerju

Če želite začeti izvajati EDA v Data Wranglerju, dokončajte naslednje korake:

  1. Prenos Nabor podatkov o pregledih digitalne glasbe JSON in ga naložite v Amazon S3.
    To uporabljamo kot neobdelani nabor podatkov za EDA.
  2. Odprto Amazon SageMaker Studio in ustvarite nov tok Data Wrangler ter uvozite nabor podatkov iz Amazon S3.

    Ta nabor podatkov ima devet stolpcev, vendar uporabljamo le tri: asin, reviewTimein overall. Spustiti moramo ostalih šest stolpcev.

  3. Ustvarite transformacijo po meri in izberite Python (PySpark).
  4. Razširi Iskanje primerov izrezkov In izberite Spustite vse stolpce razen nekaj.
  5. Vnesite predloženi delček v svojo pretvorbo po meri in sledite navodilom za spreminjanje kode.
    # 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)

    Zdaj, ko imamo vse stolpce, ki jih potrebujemo, filtrirajmo podatke navzdol, da ohranimo le ocene med letoma 2000–2020.

  6. Uporaba Časovni žig filtra je zunaj obsega izrezek za opustitev podatkov pred letom 2000 in po 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))

    Nato iz stolpca ReviewTime izvlečemo leto in mesec.

  7. Uporaba Predstavite datum/čas preoblikovati.
  8. za Izvleček stolpcev, izberite leto in mesec.

    Nato želimo združiti število pregledov po letu in mesecu, ki smo jih ustvarili v prejšnjem koraku.

  9. Uporaba Računajte statistiko v skupinah delček:
    # 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. Preimenujte združevanje prejšnjega koraka iz count(overall) do reviews_num z izbiro Upravljanje stolpcev in Preimenuj stolpec preoblikovati.
    Nazadnje želimo ustvariti toplotni zemljevid za vizualizacijo porazdelitve pregledov po letih in mesecih.
  11. Na zavihku analiza izberite Vizualizacija po meri.
  12. Razširi Poiščite izrezek In izberite Heatmap v spustnem meniju.
  13. Vnesite predloženi delček v svojo vizualizacijo po meri:
    # 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()
    )

    Dobimo naslednjo vizualizacijo.

    Pripravite podatke hitreje z odrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.
    Če želite še izboljšati toplotni zemljevid, lahko podatke razrežete tako, da bodo prikazani samo pregledi pred letom 2011. Te je težko prepoznati na toplotnem zemljevidu, ki smo ga pravkar ustvarili, zaradi velike količine pregledov od leta 2012.

  14. Dodajte eno vrstico kode svoji vizualizaciji po meri:
    # 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()
    )

Dobimo naslednji toplotni zemljevid.

Pripravite podatke hitreje z odrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zdaj toplotni zemljevid bolj vidno odraža preglede pred letom 2011: opazimo lahko sezonske učinke (konec leta prinaša več nakupov in s tem več pregledov) in prepoznamo nenormalne mesece, kot sta oktober 2003 in marec 2005. Vredno je nadaljevati raziskavo. ugotoviti vzrok teh anomalij.

zaključek

Data Wrangler je namensko orodje za združevanje in pripravo podatkov za ML. V tej objavi smo pokazali, kako izvesti EDA in hitro preoblikovati svoje podatke z uporabo odrezkov kode, ki jih je zagotovil Data Wrangler. Samo najti morate delček, vnesti kodo in prilagoditi parametre, da se ujemajo z vašim naborom podatkov. Še naprej lahko ponavljate svoj skript, da ustvarite bolj zapletene vizualizacije in transformacije.
Če želite izvedeti več o Data Wranglerju, glejte Ustvarite in uporabite Data Wrangler Flow.


O avtorjih

Pripravite podatke hitreje z odrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Nikita Ivkin je uporabni znanstvenik, Amazon SageMaker Data Wrangler.

Pripravite podatke hitreje z odrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Haider Naqvi je arhitekt rešitev pri AWS. Ima bogate izkušnje z razvojem programske opreme in poslovne arhitekture. Osredotoča se na omogočanje strankam, da z AWS dosežejo poslovne rezultate. Živi v New Yorku.

Pripravite podatke hitreje z odrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.Harish Rajagopalan je višji arhitekt rešitev pri Amazon Web Services. Harish sodeluje s podjetniškimi strankami in jim pomaga pri njihovem potovanju v oblak.

Pripravite podatke hitreje z odrezki kode PySpark in Altair v Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.James Wu je višji strokovnjak za AI/ML SA pri AWS. Sodeluje s strankami, da bi pospešil njihovo potovanje v oblak in pospešil realizacijo njihove poslovne vrednosti. Poleg tega je James navdušen tudi nad razvojem in prilagajanjem velikih rešitev AI/ML na različnih področjih. Preden se je pridružil podjetju AWS, je vodil ekipo za multidisciplinarne inovacijske tehnologije z inženirji ML in razvijalci programske opreme za vrhunsko svetovno podjetje v tržni in oglaševalski industriji.

Časovni žig:

Več od Strojno učenje AWS