Готуйте дані швидше за допомогою фрагментів коду PySpark і Altair в Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Швидше готуйте дані за допомогою фрагментів коду PySpark і Altair в Amazon SageMaker Data Wrangler

Amazon SageMaker Data Wrangler є спеціально створеним інструментом для агрегації та підготовки даних до машинного навчання (ML). Він дає змогу використовувати візуальний інтерфейс для доступу до даних та виконання дослідницького аналізу даних (EDA) та розробки функцій. Функція EDA має вбудовані можливості аналізу даних для діаграм (наприклад, діаграму розсіювання або гістограму) та можливості аналізу моделі, що заощаджують час, наприклад важливість функції, витоку цілі та пояснення моделі. Можливість розробки функцій має понад 300 вбудованих перетворень і може виконувати користувацькі перетворення за допомогою середовища виконання Python, PySpark або Spark SQL.

Для користувацьких візуалізацій та перетворень Data Wrangler тепер надає приклади фрагментів коду для поширених типів візуалізацій та перетворень. У цій публікації ми демонструємо, як використовувати ці фрагменти коду для швидкого запуску EDA в Data Wrangler.

Огляд рішення

На момент написання цієї статті ви можете імпортувати набори даних у Data Wrangler з Служба простого зберігання Amazon (Amazon S3), Амазонка Афіна, Амазонська червона зміна, Блоки даних та Сніжинка. Для цієї публікації ми використовуємо Amazon S3 для зберігання Amazon 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. Завантажити Digital Music переглядає набір даних JSON і завантажте його на Amazon S3.
    Ми використовуємо це як вихідний набір даних для EDA.
  2. відкритий Студія Amazon SageMaker і створіть новий потік даних Wrangler та імпортуйте набір даних із Amazon 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. Вертикальний пошук. 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 — це спеціально створений інструмент для агрегації та підготовки даних для машинного навчання. У цій публікації ми продемонстрували, як виконати EDA та швидко трансформувати ваші дані за допомогою фрагментів коду, наданих Data Wrangler. Вам просто потрібно знайти фрагмент, ввести код і налаштувати параметри відповідно до вашого набору даних. Ви можете продовжувати повторювати свій сценарій, щоб створити більш складні візуалізації та перетворення.
Щоб дізнатися більше про Data Wrangler, див Створення та використання потоку даних Wrangler.


Про авторів

Готуйте дані швидше за допомогою фрагментів коду 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.Харіш Раджагопалан є старшим архітектором рішень у Amazon Web Services. Harish працює з корпоративними клієнтами та допомагає їм у подорожі до хмари.

Готуйте дані швидше за допомогою фрагментів коду PySpark і Altair в Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.Джеймс Ву є старшим спеціалістом з AI/ML SA в AWS. Він працює з клієнтами, щоб пришвидшити їхній хмарний шлях і прискорити реалізацію цінності для бізнесу. На додаток до цього, Джеймс також захоплюється розробкою та масштабуванням великих рішень AI/ML у різних областях. До того, як приєднатися до AWS, він очолював багатопрофільну команду інноваційних технологій із інженерами ML та розробниками програмного забезпечення для провідної світової фірми на ринку та рекламної індустрії.

Часова мітка:

Більше від AWS Машинне навчання