הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler

רנגלר הנתונים של אמזון SageMaker הוא כלי צבירת נתונים והכנה בנוי למטרה עבור למידת מכונה (ML). זה מאפשר לך להשתמש בממשק חזותי כדי לגשת לנתונים ולבצע ניתוח נתונים חקרניים (EDA) והנדסת תכונות. תכונת ה-EDA מגיעה עם יכולות מובנות של ניתוח נתונים עבור תרשימים (כגון תרשים פיזור או היסטוגרמה) ויכולות ניתוח מודלים חוסכות זמן כמו חשיבות תכונה, זליגת יעד ויכולת הסבר מודל. ליכולת הנדסת התכונות יש למעלה מ-300 טרנספורמציות מובנות והיא יכולה לבצע טרנספורמציות מותאמות אישית באמצעות זמן ריצה של Python, PySpark או Spark SQL.

עבור הדמיות והמרות מותאמות אישית, Data Wrangler מספק כעת קטעי קוד לדוגמה עבור סוגים נפוצים של הדמיות והמרות. בפוסט זה, אנו מדגימים כיצד להשתמש בקטעי קוד אלה כדי להתחיל במהירות את ה-EDA שלך ב-Data Wrangler.

סקירת פתרונות

בזמן כתיבת שורות אלה, אתה יכול לייבא מערכי נתונים ל-Data Wrangler מ שירות אחסון פשוט של אמזון (אמזון S3), אמזונה אתנה, האדום של אמזון, Databricks ו- Snowflake. עבור פוסט זה, אנו משתמשים באמזון S3 כדי לאחסן את אמזון 2014 מערך נתונים של ביקורות. להלן דוגמה של מערך הנתונים:

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

בפוסט זה, אנו מבצעים EDA באמצעות שלוש עמודות-asin, reviewTime, ו overall— אשר ממפה את מזהה המוצר, תאריך שעת הביקורת וציון הביקורת הכולל, בהתאמה. אנו משתמשים בנתונים אלה כדי להמחיש דינמיקה של מספר הביקורות על פני חודשים ושנים.

שימוש בקטע קוד לדוגמה עבור EDA ב-Data Wrangler

כדי להתחיל לבצע EDA ב-Data Wrangler, בצע את השלבים הבאים:

  1. הורד מערך נתונים של ביקורות מוזיקה דיגיטלית JSON והעלה אותו לאמזון S3.
    אנו משתמשים בזה בתור מערך הנתונים הגולמי של ה-EDA.
  2. להרחיב סטודיו SageMaker של אמזון וליצור זרימת Data Wrangler חדשה ולייבא את מערך הנתונים מאמזון S3.

    למערך נתונים זה יש תשע עמודות, אך אנו משתמשים רק בשלוש: asin, reviewTime, ו overall. אנחנו צריכים להוריד את ששת העמודות האחרות.

  3. צור טרנספורמציה מותאמת אישית ובחר Python (PySpark).
  4. לְהַרְחִיב חפש קטעי קוד לדוגמה ולבחור שחרר את כל העמודות מלבד כמה.
  5. הזן את קטע הקוד שסופק לטרנספורמציה המותאמת אישית שלך ופעל לפי ההנחיות לשינוי הקוד.
    # 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)

    עכשיו, כשיש לנו את כל העמודות שאנחנו צריכים, בואו נסנן את הנתונים כדי לשמור ביקורות רק בין השנים 2000-2020.

  6. השתמש חותמת זמן מסנן מחוץ לטווח קטע להורדת הנתונים לפני שנת 2000 ואחרי 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))

    לאחר מכן, אנו מחלצים את השנה והחודש מעמודת reviewTime.

  7. השתמש הצג תאריך/שעה שינוי צורה.
  8. בעד חלץ עמודות, בחר שנה ו חודש.

    לאחר מכן, אנו רוצים לצבור את מספר הביקורות לפי שנה וחודש שיצרנו בשלב הקודם.

  9. השתמש חישוב סטטיסטיקה בקבוצות קטע:
    # 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. שנה את שם הצבירה של השלב הקודם מ count(overall) ל reviews_num על ידי בחירה נהל עמודות ו שנה את שם העמודה שינוי צורה.
    לבסוף, אנו רוצים ליצור מפת חום כדי לדמיין את התפלגות הביקורות לפי שנה ולפי חודש.
  11. בכרטיסיית הניתוח, בחר הדמיה מותאמת אישית.
  12. לְהַרְחִיב חפש קטע ולבחור מפת חום בתפריט הנפתח.
  13. הזן את קטע הקוד שסופק להדמיה המותאמת אישית שלך:
    # 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()
    )

    אנו מקבלים את ההדמיה הבאה.

    הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
    אם אתה רוצה לשפר את מפת החום עוד יותר, אתה יכול לחתוך את הנתונים כך שיציגו רק ביקורות לפני 2011. קשה לזהות את אלה במפת החום שיצרנו זה עתה בגלל כמויות גדולות של ביקורות מאז 2012.

  14. הוסף שורת קוד אחת להדמיה המותאמת אישית שלך:
    # 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()
    )

אנו מקבלים את מפת החום הבאה.

הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כעת מפת החום משקפת את הביקורות שקדמו לשנת 2011 בצורה גלויה יותר: אנו יכולים לראות את ההשפעות העונתיות (סוף השנה מביאה לרכישות רבות יותר ולפיכך יותר ביקורות) ויכולים לזהות חודשים חריגים, כמו אוקטובר 2003 ומרץ 2005. כדאי לחקור עוד יותר. כדי לקבוע את הסיבה לאותן חריגות.

סיכום

Data Wrangler הוא כלי צבירת נתונים והכנה עבור ML. בפוסט זה, הדגמנו כיצד לבצע EDA ולשנות את הנתונים שלך במהירות באמצעות קטעי קוד שסופקו על ידי Data Wrangler. אתה רק צריך למצוא קטע, להזין את הקוד ולהתאים את הפרמטרים כך שיתאימו למערך הנתונים שלך. אתה יכול להמשיך לחזור על הסקריפט שלך כדי ליצור הדמיות ושינויים מורכבים יותר.
למידע נוסף על Data Wrangler, עיין ב צור והשתמש ב-Data Wrangler Flow.


על הכותבים

הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ניקיטה איבקין הוא מדען יישומי, Amazon SageMaker Data Wrangler.

הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.היידר נקווי הוא אדריכל פתרונות ב-AWS. יש לו ניסיון רב בפיתוח תוכנה וארכיטקטורה ארגונית. הוא מתמקד בלאפשר ללקוחות להשיג תוצאות עסקיות עם AWS. הוא מבוסס מניו יורק.

הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.חריש ראג'גופאלן הוא ארכיטקט פתרונות בכיר בחברת Amazon Web Services. חריש עובדת עם לקוחות ארגוניים ועוזרת להם במסע הענן שלהם.

הכן נתונים מהר יותר עם קטעי קוד של PySpark ו-Altair ב-Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ג'יימס וו הוא מומחה בכיר בינה מלאכותית/ML SA ב-AWS. הוא עובד עם לקוחות כדי להאיץ את המסע שלהם בענן ולעקוב במהירות אחר מימוש הערך העסקי שלהם. בנוסף לכך, ג'יימס נלהב גם בפיתוח והרחבת פתרונות AI/ML גדולים בתחומים שונים. לפני שהצטרף ל-AWS, הוא הוביל צוות טכנולוגיות חדשנות רב-תחומי עם מהנדסי ML ומפתחי תוכנה עבור חברה גלובלית מובילה בתעשיית השוק והפרסום.

בול זמן:

עוד מ למידת מכונות AWS