قم بإعداد البيانات بشكل أسرع باستخدام مقتطفات التعليمات البرمجية PySpark و Altair في Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

قم بإعداد البيانات بشكل أسرع باستخدام مقتطفات التعليمات البرمجية PySpark و Altair في Amazon SageMaker Data Wrangler

أمازون سيج ميكر داتا رانجلر هي أداة تجميع البيانات وإعدادها لغرض التعلم الآلي (ML). يسمح لك باستخدام واجهة مرئية للوصول إلى البيانات وإجراء تحليل البيانات الاستكشافية (EDA) وهندسة الميزات. تأتي ميزة EDA مع إمكانات تحليل البيانات المضمنة للمخططات (مثل مخطط التبعثر أو المدرج التكراري) وإمكانيات تحليل النموذج الموفرة للوقت مثل أهمية الميزة وتسرب الهدف وإمكانية شرح النموذج. تحتوي القدرة الهندسية للميزات على أكثر من 300 تحويل مدمج ويمكنها إجراء تحويلات مخصصة باستخدام وقت تشغيل Python أو PySpark أو Spark SQL.

بالنسبة للتصورات والتحويلات المخصصة ، يوفر Data Wrangler الآن أمثلة على مقتطفات التعليمات البرمجية للأنواع الشائعة من التصورات والتحويلات. في هذا المنشور ، نوضح كيفية استخدام مقتطفات الشفرة هذه لبدء تشغيل EDA الخاص بك في Data Wrangler.

حل نظرة عامة

في وقت كتابة هذه السطور ، يمكنك استيراد مجموعات البيانات إلى Data Wrangler من خدمة تخزين أمازون البسيطة (Amazon S3) ، أمازون أثينا, الأمازون الأحمرو Databricks و Snowflake. في هذا المنشور ، نستخدم Amazon S3 لتخزين 2014 Amazon يستعرض مجموعة البيانات. فيما يلي عينة من مجموعة البيانات:

{ "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 وتحميله إلى Amazon S3.
    نستخدم هذا كمجموعة بيانات أولية لـ EDA.
  2. ساعات العمل أمازون ساجميكر ستوديو وإنشاء تدفق بيانات Wrangler جديد واستيراد مجموعة البيانات من Amazon S3.

    تحتوي مجموعة البيانات هذه على تسعة أعمدة ، لكننا نستخدم ثلاثة فقط: asin, reviewTimeو overall. نحتاج إلى إسقاط الأعمدة الستة الأخرى.

  3. قم بإنشاء تحويل مخصص واختر بايثون (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))

    بعد ذلك ، نستخرج السنة والشهر من عمود وقت المراجعة.

  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 هي أداة تجميع البيانات وإعدادها لغرض التعلم الآلي. في هذا المنشور ، أوضحنا كيفية أداء EDA وتحويل بياناتك بسرعة باستخدام مقتطفات التعليمات البرمجية المقدمة من Data Wrangler. تحتاج فقط إلى العثور على مقتطف ، وإدخال الرمز ، وضبط المعلمات لتتناسب مع مجموعة البيانات الخاصة بك. يمكنك الاستمرار في تكرار البرنامج النصي لإنشاء تصورات وتحويلات أكثر تعقيدًا.
لمعرفة المزيد حول داتا رانجلر ، ارجع إلى إنشاء واستخدام تدفق رانجلر البيانات.


حول المؤلف

قم بإعداد البيانات بشكل أسرع باستخدام مقتطفات التعليمات البرمجية 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. يعمل Harish مع عملاء المؤسسات ويساعدهم في رحلتهم السحابية.

قم بإعداد البيانات بشكل أسرع باستخدام مقتطفات التعليمات البرمجية PySpark و Altair في Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. البحث العمودي. عاي.جيمس وو هو أحد كبار أخصائيي الذكاء الاصطناعي / التعلم الآلي في AWS. إنه يعمل مع العملاء لتسريع رحلتهم السحابية وتسريع تحقيق قيمة أعمالهم. بالإضافة إلى ذلك ، جيمس متحمس أيضًا لتطوير وتوسيع نطاق حلول AI / ML عبر مختلف المجالات. قبل انضمامه إلى AWS ، قاد فريقًا متعدد التخصصات لتقنية الابتكار مع مهندسي ML ومطوري البرامج لشركة عالمية كبرى في السوق وصناعة الإعلان.

الطابع الزمني:

اكثر من التعلم الآلي من AWS