Amazon SageMaker Data Wrangler для зменшення розмірності

Amazon SageMaker Data Wrangler для зменшення розмірності

У світі машинного навчання (ML) якість набору даних має велике значення для передбачуваності моделі. Хоча більше даних зазвичай краще, великі набори даних із великою кількістю функцій іноді можуть призвести до неоптимальної продуктивності моделі через прокляття розмірності. Аналітики можуть витрачати значну кількість часу на перетворення даних для покращення продуктивності моделі. Крім того, великі набори даних є дорожчими та займають більше часу для навчання. Якщо час є обмеженням, продуктивність моделі може бути обмежена в результаті.

Методи зменшення розмірності можуть допомогти зменшити розмір ваших даних, зберігаючи їхню інформацію, що призведе до швидшого часу навчання, нижчої вартості та потенційно більш ефективних моделей.

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

Сьогодні ми раді додати нову техніку трансформації, яка зазвичай використовується у світі машинного навчання, до списку готових трансформацій Data Wrangler: зменшення розмірності за допомогою аналізу основних компонентів. За допомогою цієї нової функції ви можете зменшити велику кількість вимірів у своїх наборах даних до одного, який можна використовувати з популярними алгоритмами машинного навчання, лише кількома клацаннями миші на консолі Data Wrangler. Це може значно покращити продуктивність вашої моделі з мінімальними зусиллями.

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

Огляд аналізу головних компонентів

Аналіз основних компонентів (PCA) — це метод, за допомогою якого розмірність функцій можна перетворити в наборі даних із багатьма числовими ознаками в один із меншою кількістю ознак, зберігаючи якомога більше інформації з вихідного набору даних. Це робиться шляхом пошуку нового набору функцій під назвою Компоненти, які є сукупністю оригінальних ознак, які не корельовані одна з одною. Кілька функцій у наборі даних часто менше впливають на кінцевий результат і можуть збільшити час обробки моделей ML. Людям може стати важко зрозуміти та вирішити такі багатовимірні проблеми. Методи зменшення розмірності, такі як PCA, можуть допомогти вирішити цю проблему.

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

У цій публікації ми покажемо, як можна використовувати перетворення зменшення розмірності в Data Wrangler на МНІСТ набору даних, щоб зменшити кількість функцій на 85% і все одно досягти подібної або кращої точності, ніж оригінальний набір даних. Набір даних MNIST (Модифікований національний інститут стандартів і технологій), який де-факто є набором даних «привіт, світ» у комп’ютерному зорі, є набором даних рукописних зображень. Кожен рядок набору даних відповідає одному зображенню розміром 28 x 28 пікселів, що становить 784 пікселя. Кожен піксель представлено однією ознакою в наборі даних зі значенням пікселя в діапазоні від 0–255.

Щоб дізнатися більше про нову функцію зменшення розмірності, див Зменшення розмірності в наборі даних.

Передумови

Ця публікація передбачає, що у вас є Студія Amazon SageMaker налаштувати домен. Докладніше про те, як це налаштувати, див Підключення до домену Amazon SageMaker за допомогою швидкого налаштування.

Щоб розпочати роботу з новими можливостями Data Wrangler, відкрийте Studio після оновлення до останньої версії і оберіть філе Меню, Нові та Потікабо вибрати Новий потік даних із панелі запуску Studio.

Виконайте швидкий аналіз моделі

Набір даних, який ми використовуємо в цій публікації, містить 60,000 785 навчальних прикладів і міток. Кожен рядок складається з 0 значень: перше значення — це мітка (число від 9 до 784), а решта 0 значення — значення пікселів (число від 255 до XNUMX). По-перше, ми проводимо швидкий аналіз необроблених даних, щоб отримати показники ефективності та порівнювати їх із показниками моделі після трансформації PCA для оцінки. Виконайте наступні дії:

  1. Завантажити Навчальний набір даних MNIST.
  2. Витягніть дані з файлу .zip і завантажте в файл Служба простого зберігання Amazon (Amazon S3) відро.
  3. У Studio виберіть Нові та Потік даних Wrangler щоб створити новий потік Data Wrangler.
    Потік даних Wrangler
  4. Вибирати Дати імпорту щоб завантажити дані з Amazon S3.
    Імпортувати дані
  5. Вибирати Amazon S3 як джерело даних.
    Виберіть підключення даних S3
  6. Виберіть набір даних, завантажений у ваш сегмент S3.
  7. Залиште налаштування за замовчуванням і виберіть Імпортувати.
    Імпортувати з S3

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

  1. Вибирати Потік даних у верхній частині Типи даних щоб повернутися до основного потоку даних.
    Типи даних набору даних

Редактор потоку тепер показує два блоки, які демонструють, що дані були імпортовані з джерела та розпізнані типи даних. За потреби ви також можете редагувати типи даних.

Переконавшись, що якість даних є прийнятною, ми повертаємось до потоку даних і використовуємо звіт Data Wrangler Quality and Insights. Цей звіт виконує аналіз імпортованого набору даних і надає інформацію про відсутні значення, викиди, цільовий витік, незбалансовані дані та швидкий аналіз моделі. Відноситься до Дізнайтеся про дані та якість даних для отримання додаткової інформації.

Для цього аналізу ми зосереджуємося лише на частині швидкої моделі звіту про якість даних.

  1. Виберіть знак плюс біля Типи даних, Потім виберіть Додати аналіз.
    Amazon SageMaker Data Wrangler for dimensionality reduction PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  2. для Тип аналізу¸ вибрати Звіт про якість даних і аналіз.
  3. для Цільова колонка, виберіть мітку.
  4. для Тип проблемивиберіть Класифікація (цей крок необов'язковий).
  5. Вибирати Створювати.
    Створення аналізу

У цій публікації ми використовуємо звіт про якість даних і статистику, щоб показати, як продуктивність моделі здебільшого зберігається за допомогою PCA. Ми рекомендуємо вам використовувати підхід на основі глибокого навчання для кращої продуктивності.

На наступному знімку екрана показано зведення набору даних зі звіту. На щастя, у нас немає втрачених значень. Час, необхідний для створення звіту, залежить від розміру набору даних, кількості функцій і розміру екземпляра, який використовує Data Wrangler.

Підсумок якості даних

На наступному знімку екрана показано, як модель працювала на необробленому наборі даних. Тут ми помітили, що модель має точність 93.7% із використанням 784 функцій.

Швидка модель перед PCA

Використовуйте перетворення зменшення розмірності Data Wrangler

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

  1. На сторінці потоку даних виберіть знак плюс поруч Типи даних, Потім виберіть Додати трансформацію.
    Amazon SageMaker Data Wrangler for dimensionality reduction PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  2. Вибирати Додати крок.
    Додати крок
  3. Вибирати Зменшення розмірності.
    Зменшення розмірності

Якщо ви не бачите параметр зменшення розмірності в списку, вам потрібно оновити Data Wrangler. Інструкції див Оновити Data Wrangler.

  1. Налаштуйте ключові змінні, які входять до PCA:
    1. для Перетворення, виберіть техніку зменшення розмірності, яку ви бажаєте використати. Для цього посту ми вибираємо Аналіз головних компонентів.
    2. для Вхідні стовпцівиберіть стовпці, які потрібно включити в аналіз PCA. У цьому прикладі ми вибираємо всі функції, крім мітки цільового стовпця (ви також можете використовувати Вибрати всі щоб вибрати всі функції та скасувати вибір непотрібних функцій). Ці стовпці мають бути числового типу даних.
    3. для Кількість головних компонентів, вкажіть кількість цільових розмірів.
    4. для Відсоток порогового значення дисперсії, вкажіть відсоток варіації в даних, які ви хочете пояснити головними компонентами. Стандартне значення 95; для цієї публікації ми використовуємо 80.
    5. Select Центр центрування даних із середнім перед масштабуванням.
    6. Select шкала щоб масштабувати дані з одиничним стандартним відхиленням.
      PCA приділяє більше уваги змінним із високою дисперсією. Тому, якщо розміри не масштабуються, ми отримаємо суперечливі результати. Наприклад, значення однієї змінної може лежати в діапазоні 50–100, а іншої змінної – 5–10. У цьому випадку PCA надасть більше ваги першій змінній. Такі проблеми можна вирішити шляхом масштабування набору даних перед застосуванням PCA.
    7. для Формат виводу, вкажіть, чи потрібно виводити компоненти в окремі стовпці або вектори. Для цього посту ми вибираємо Колони.
    8. для Вихідний стовпець, введіть префікс для імен стовпців, згенерованих PCA. Для цієї публікації ми вводимо PCA80_.
  2. Вибирати попередній перегляд для попереднього перегляду даних, а потім виберіть Оновити.
    Amazon SageMaker Data Wrangler for dimensionality reduction PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Після застосування PCA кількість стовпців буде зменшено з 784 до 115 — це скорочення кількості функцій на 85%.

Тепер ми можемо використати перетворений набір даних і створити ще один звіт про якість даних і статистику, як показано на наступному знімку екрана, щоб спостерігати за ефективністю моделі.

Швидка модель після PCA

У другому аналізі ми бачимо, що продуктивність моделі покращилася, а точність зросла до 91.8% порівняно з першим звітом Quick Model. PCA зменшила кількість функцій у нашому наборі даних на 85%, зберігаючи при цьому точність моделі на тому ж рівні.

На основі аналізу швидкої моделі зі звіту продуктивність моделі становить 91.8%. Завдяки PCA ми зменшили кількість стовпців на 85%, зберігаючи при цьому точність моделі на тому ж рівні. Щоб отримати кращі результати, ви можете спробувати моделі глибокого навчання, які можуть запропонувати ще кращу продуктивність.

Ми знайшли наступне порівняння у використанні часу навчання Автопілот Amazon SageMaker зі зменшенням розмірності PCA і без нього:

  • З PCA зменшення розмірів - 25 хвилин
  • Без зменшення розмірів PCA - 45 хвилин

Операціоналізація PCA

Оскільки дані змінюються з часом, часто бажано переналаштувати наші параметри на нові невидимі дані. Data Wrangler пропонує цю можливість завдяки використанню параметрів переобладнання. Для отримання додаткової інформації про переналаштування навчених параметрів див Відновіть навчені параметри на великих наборах даних за допомогою Amazon SageMaker Data Wrangler.

Раніше ми застосовували PCA до зразка набору даних MNIST, який містив 50,000 XNUMX рядків зразка. Отже, наш файл потоку містить модель, яка була навчена на цьому зразку та використовується для всіх створених завдань, якщо ми не вкажемо, що ми хочемо повторно вивчити ці параметри.

Щоб змінити параметри моделі на набір навчальних даних MNIST, виконайте такі кроки:

  1. Створіть місце призначення для нашого файлу потоку в Amazon S3, щоб ми могли створити завдання обробки Data Wrangler.
    Робота Data Wrangler з обробки
  2. Створіть роботу та виберіть Refit вивчити нові параметри навчання.

Команда Навчені параметри показано, що є 784 параметри. Це один параметр для кожного стовпця, оскільки ми виключили стовпець мітки в нашому скороченні PCA.

Зауважте, що якщо ми не виберемо Refit на цьому кроці будуть використані навчені параметри, отримані в інтерактивному режимі.

Створити роботу

  1. Створіть роботу.
    Вакансія створена
  2. Виберіть посилання на завдання обробки, щоб відстежувати завдання та знаходити розташування отриманого файлу потоку на Amazon S3.
    Обробка потоку завдань

Цей файл потоку містить модель, вивчену на всьому наборі даних поїздів MNIST.

  1. Завантажте цей файл у Data Wrangler.

Прибирати

Щоб очистити середовище й не нести додаткових витрат, видаліть набори даних і артефакти в Amazon S3. Крім того, видаліть файл потоку даних у Studio та вимкніть екземпляр, на якому він працює. Відноситься до Завершіть роботу Data Wrangler для отримання додаткової інформації.

Висновок

Зменшення розмірності є чудовою технікою для видалення небажаних змінних із моделі. Його можна використовувати для зменшення складності моделі та шуму в даних, тим самим пом’якшуючи поширену проблему переобладнання в моделях машинного та глибокого навчання. У цьому блозі ми продемонстрували, що, зменшивши кількість функцій, ми все ще змогли досягти подібної або вищої точності для наших моделей.

Додаткову інформацію про використання PCA див Алгоритм аналізу головних компонентів (PCA).. Щоб дізнатися більше про перетворення зменшення розмірності, див Зменшення розмірності в наборі даних.


Про авторів

Amazon SageMaker Data Wrangler for dimensionality reduction PlatoBlockchain Data Intelligence. Vertical Search. Ai.Аделік Кокер є глобальним архітектором рішень у AWS. Він працює з клієнтами в усьому світі, щоб надати рекомендації та технічну допомогу в розгортанні виробничих робочих навантажень у масштабі AWS. У вільний час він захоплюється навчанням, читанням, іграми та переглядом спортивних подій.

Amazon SageMaker Data Wrangler for dimensionality reduction PlatoBlockchain Data Intelligence. Vertical Search. Ai.Камеристка є інженером із розробки програмного забезпечення в Amazon SageMaker. Вона захоплено допомагає клієнтам підготувати їхні дані в DataWrangler і створює розподілені системи машинного навчання. У вільний час Ебігейл захоплюється подорожами, походами, катанням на лижах і випічкою.

Amazon SageMaker Data Wrangler for dimensionality reduction PlatoBlockchain Data Intelligence. Vertical Search. Ai.Вішал Капур є старшим науковим співробітником з AWS AI. Він прагне допомогти клієнтам зрозуміти їхні дані в Data Wrangler. У вільний час він катається на гірських велосипедах, сноубордах і проводить час з родиною.

Amazon SageMaker Data Wrangler for dimensionality reduction PlatoBlockchain Data Intelligence. Vertical Search. Ai.Равітеджа Єламанчілі є архітектором корпоративних рішень Amazon Web Services у Нью-Йорку. Він працює з великими клієнтами фінансових послуг над розробкою та розгортанням високобезпечних, масштабованих, надійних і економічно ефективних програм у хмарі. Він має понад 11 років досвіду управління ризиками, технологічного консультування, аналітики даних і машинного навчання. Коли він не допомагає клієнтам, він любить подорожувати та грати в PS5.

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

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