Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler

Amazon SageMaker Data Wrangler este un instrument special de agregare și pregătire a datelor pentru învățarea automată (ML). Vă permite să utilizați o interfață vizuală pentru a accesa date și pentru a efectua analize exploratorii de date (EDA) și inginerie de caracteristici. Caracteristica EDA vine cu capabilități încorporate de analiză a datelor pentru diagrame (cum ar fi diagrama de dispersie sau histograma) și capabilități de analiză a modelului care economisesc timp, cum ar fi importanța caracteristicilor, scurgerea țintei și explicabilitatea modelului. Capacitatea de inginerie a caracteristicilor are peste 300 de transformări încorporate și poate efectua transformări personalizate folosind fie Python, PySpark, fie Spark SQL runtime.

Pentru vizualizări și transformări personalizate, Data Wrangler oferă acum exemple de fragmente de cod pentru tipuri obișnuite de vizualizări și transformări. În această postare, demonstrăm cum să folosiți aceste fragmente de cod pentru a vă porni rapid EDA în Data Wrangler.

Prezentare generală a soluțiilor

La momentul scrierii acestui articol, puteți importa seturi de date în Data Wrangler din Serviciul Amazon de stocare simplă (Amazon S3), Amazon Atena, Amazon RedShift, Databricks și Snowflake. Pentru această postare, folosim Amazon S3 pentru a stoca Amazon 2014 recenzii setul de date. Următorul este un eșantion al setului de date:

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

În această postare, efectuăm EDA folosind trei coloane—asin, reviewTime, și overall—care se mapează la ID-ul produsului, data orei revizuirii și, respectiv, scorul general al recenziei. Folosim aceste date pentru a vizualiza dinamica numărului de recenzii în luni și ani.

Folosind exemplu de fragment de cod pentru EDA în Data Wrangler

Pentru a începe să efectuați EDA în Data Wrangler, parcurgeți următorii pași:

  1. Descărcați Muzica digitală examinează setul de date JSON și încărcați-l pe Amazon S3.
    Folosim acesta ca set de date brute pentru EDA.
  2. Operatii Deschise Amazon SageMaker Studio și creați un nou flux Data Wrangler și importați setul de date din Amazon S3.

    Acest set de date are nouă coloane, dar folosim doar trei: asin, reviewTime, și overall. Trebuie să aruncăm celelalte șase coloane.

  3. Creați o transformare personalizată și alegeți Python (PySpark).
  4. Extinde Căutați exemple de fragmente Și alegeți Aruncă toate coloanele, cu excepția câtorva.
  5. Introduceți fragmentul furnizat în transformarea personalizată și urmați instrucțiunile pentru a modifica codul.
    # 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)

    Acum că avem toate coloanele de care avem nevoie, haideți să filtram datele în jos pentru a păstra recenziile numai între 2000 și 2020.

  6. Folosește Marcare temporală a filtrului în afara intervalului fragment pentru a elimina datele înainte de anul 2000 și după 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))

    În continuare, extragem anul și luna din coloana reviewTime.

  7. Folosește Prezentați data/ora transforma.
  8. Pentru Extrageți coloanele, alege an și lună.

    În continuare, dorim să cumulăm numărul de recenzii pe an și lună pe care le-am creat în pasul anterior.

  9. Folosește Calculați statistici în grupuri fragment:
    # 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. Redenumiți agregarea pasului anterior de la count(overall) la reviews_num alegând Gestionați coloanele si Redenumiți coloana transforma.
    În cele din urmă, dorim să creăm o hartă termică pentru a vizualiza distribuția recenziilor pe an și pe lună.
  11. În fila de analiză, alegeți Vizualizare personalizată.
  12. Extinde Căutați fragment Și alegeți Harta termografica din meniul derulant.
  13. Introduceți fragmentul furnizat în vizualizarea personalizată:
    # 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()
    )

    Obținem următoarea vizualizare.

    Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
    Dacă doriți să îmbunătățiți și mai mult harta termică, puteți tăia datele pentru a afișa numai recenzii înainte de 2011. Acestea sunt greu de identificat în harta termică pe care tocmai am creat-o din cauza volumului mare de recenzii începând cu 2012.

  14. Adăugați o linie de cod la vizualizarea dvs. personalizată:
    # 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()
    )

Obținem următoarea hartă termică.

Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Acum, harta termică reflectă mai vizibil recenziile anterioare anului 2011: putem observa efectele sezoniere (sfârșitul anului aduce mai multe achiziții și, prin urmare, mai multe recenzii) și putem identifica luni anormale, precum octombrie 2003 și martie 2005. Merită investigat în continuare. pentru a determina cauza acestor anomalii.

Concluzie

Data Wrangler este un instrument special de agregare și pregătire a datelor pentru ML. În această postare, am demonstrat cum să efectuați EDA și să vă transformați datele rapid folosind fragmente de cod furnizate de Data Wrangler. Trebuie doar să găsiți un fragment, să introduceți codul și să ajustați parametrii pentru a se potrivi cu setul de date. Puteți continua să repetați scriptul pentru a crea vizualizări și transformări mai complexe.
Pentru a afla mai multe despre Data Wrangler, consultați Creați și utilizați un flux de date Wrangler.


Despre Autori

Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Nikita Ivkin este un om de știință aplicat, Amazon SageMaker Data Wrangler.

Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Haider Naqvi este arhitect de soluții la AWS. Are o vastă experiență în dezvoltarea software-ului și arhitectura întreprinderii. El se concentrează pe a permite clienților să obțină rezultate de afaceri cu AWS. Are sediul în New York.

Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Harish Rajagopalan este arhitect senior de soluții la Amazon Web Services. Harish lucrează cu clienții companiei și îi ajută în călătoria lor în cloud.

Pregătiți datele mai rapid cu fragmentele de cod PySpark și Altair în Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Căutare verticală. Ai.James Wu este Senior AI/ML Specialist SA la AWS. El lucrează cu clienții pentru a-și accelera călătoria în cloud și pentru a-și accelera realizarea valorii afacerii. În plus, James este, de asemenea, pasionat de dezvoltarea și scalarea unor soluții mari AI/ML în diferite domenii. Înainte de a se alătura AWS, a condus o echipă multidisciplinară de tehnologie de inovare cu ingineri ML și dezvoltatori de software pentru o firmă globală de top din piața și industria de publicitate.

Timestamp-ul:

Mai mult de la Învățare automată AWS