داده ها را سریعتر با قطعه کد PySpark و Altair در Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence آماده کنید. جستجوی عمودی Ai.

با کدهای PySpark و Altair در Amazon SageMaker Data Wrangler داده ها را سریعتر آماده کنید.

Amazon SageMaker Data Rangler یک ابزار جمع‌آوری و آماده‌سازی داده برای یادگیری ماشین (ML) است. این به شما امکان می دهد از یک رابط بصری برای دسترسی به داده ها و انجام تجزیه و تحلیل داده های اکتشافی (EDA) و مهندسی ویژگی استفاده کنید. ویژگی EDA دارای قابلیت های داخلی تجزیه و تحلیل داده ها برای نمودارها (مانند نمودار پراکندگی یا هیستوگرام) و قابلیت های تجزیه و تحلیل مدل با صرفه جویی در زمان مانند اهمیت ویژگی، نشت هدف و قابلیت توضیح مدل است. قابلیت مهندسی ویژگی بیش از 300 تبدیل داخلی دارد و می‌تواند با استفاده از Python، PySpark یا Spark SQL تبدیل‌های سفارشی را انجام دهد.

برای تجسم‌سازی‌ها و تبدیل‌های سفارشی، Data Wrangler اکنون نمونه‌هایی از کد را برای انواع رایج تجسم‌ها و تبدیل‌ها ارائه می‌کند. در این پست، نحوه استفاده از این تکه‌های کد را برای راه‌اندازی سریع EDA در Data Wrangler نشان می‌دهیم.

بررسی اجمالی راه حل

در زمان نوشتن این مقاله، می‌توانید مجموعه‌های داده را از طریق Data Wrangler وارد کنید سرویس ذخیره سازی ساده آمازون (Amazon S3) آمازون آتنا, آمازون Redshift، Databricks و Snowflake. برای این پست، ما از Amazon 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. باز کن Amazon SageMaker Studio و یک جریان Data 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))

    در مرحله بعد، سال و ماه را از ستون 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 آماده کنید. جستجوی عمودی Ai.
    اگر می‌خواهید نقشه حرارتی را بیشتر کنید، می‌توانید داده‌ها را برش دهید تا فقط مرورهای قبل از سال 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 آماده کنید. جستجوی عمودی Ai.

اکنون نقشه حرارتی بررسی های قبل از سال 2011 را به وضوح نشان می دهد: ما می توانیم اثرات فصلی را مشاهده کنیم (پایان سال خریدهای بیشتری را به همراه دارد و در نتیجه بررسی های بیشتری را به همراه دارد) و می توانیم ماه های غیرعادی مانند اکتبر 2003 و مارس 2005 را شناسایی کنیم. ارزش بررسی بیشتر را دارد. برای تعیین علت آن ناهنجاری ها.

نتیجه

Data Wrangler یک ابزار جمع آوری و آماده سازی داده های هدفمند برای ML است. در این پست، نحوه انجام EDA و تبدیل سریع داده های خود را با استفاده از قطعه کد ارائه شده توسط Data Wrangler نشان دادیم. شما فقط باید یک قطعه پیدا کنید، کد را وارد کنید و پارامترها را مطابق با مجموعه داده خود تنظیم کنید. می توانید به تکرار روی اسکریپت خود ادامه دهید تا تجسم ها و دگرگونی های پیچیده تری ایجاد کنید.
برای کسب اطلاعات بیشتر در مورد Data Wrangler، مراجعه کنید ایجاد و استفاده از Data Wrangler Flow.


درباره نویسنده

داده ها را سریعتر با قطعه کد PySpark و Altair در Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence آماده کنید. جستجوی عمودی Ai.نیکیتا ایوکین یک دانشمند کاربردی، Amazon SageMaker Data Wrangler است.

داده ها را سریعتر با قطعه کد PySpark و Altair در Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence آماده کنید. جستجوی عمودی Ai.حیدر نقوی یک معمار راه حل در AWS است. او دارای تجربه گسترده ای در زمینه توسعه نرم افزار و معماری سازمانی است. او بر روی توانمندسازی مشتریان برای دستیابی به نتایج تجاری با AWS تمرکز دارد. او در خارج از نیویورک مستقر است.

داده ها را سریعتر با قطعه کد PySpark و Altair در Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence آماده کنید. جستجوی عمودی Ai.هاریش راجاگوپالان یک معمار ارشد راه حل در خدمات وب آمازون است. Harish با مشتریان سازمانی کار می کند و به آنها در سفر ابری کمک می کند.

داده ها را سریعتر با قطعه کد PySpark و Altair در Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence آماده کنید. جستجوی عمودی Ai.جیمز وو یک متخصص ارشد AI/ML SA در AWS است. او با مشتریان کار می کند تا سفر ابری آنها را تسریع کند و تحقق ارزش تجاری آنها را سریعتر پیگیری کند. علاوه بر آن، جیمز همچنین مشتاق توسعه و مقیاس‌بندی راه‌حل‌های بزرگ AI/ML در دامنه‌های مختلف است. قبل از پیوستن به AWS، او یک تیم فناوری نوآوری چند رشته ای را با مهندسان ML و توسعه دهندگان نرم افزار برای یک شرکت جهانی برتر در بازار و صنعت تبلیغات رهبری کرد.

تمبر زمان:

بیشتر از آموزش ماشین AWS