«Замість того, щоб зосереджуватися на коді, компаніям слід зосередитися на розробці систематичних інженерних практик для покращення даних у спосіб, який є надійним, ефективним і систематичним. Іншими словами, компаніям необхідно перейти від підходу, орієнтованого на моделі, до підходу, орієнтованого на дані». – Ендрю Нг
Підхід штучного інтелекту, орієнтований на дані, передбачає створення систем штучного інтелекту з якісними даними, включаючи підготовку даних та розробку функцій. Це може бути виснажливим завданням, пов’язаним зі збором даних, виявленням, профілюванням, очищенням, структуруванням, перетворенням, збагаченням, перевіркою та безпечним зберіганням даних.
Amazon SageMaker Data Wrangler є послугою в Студія Amazon SageMaker який надає наскрізне рішення для імпорту, підготовки, трансформації, представлення й аналізу даних, практично не використовуючи програмування. Ви можете інтегрувати процес підготовки даних Data Wrangler у ваші робочі процеси машинного навчання (ML), щоб спростити попередню обробку даних і розробку функцій, швидше підготувати дані до виробництва без необхідності створювати код PySpark, інсталювати Apache Spark або розкручувати кластери.
Для сценаріїв, коли вам потрібно додати власні сценарії для перетворення даних, ви можете написати логіку перетворення в Pandas, PySpark, PySpark SQL. Data Wrangler тепер підтримує бібліотеки NLTK і SciPy для створення користувацьких перетворень для підготовки текстових даних для ML і оптимізації обмежень.
Ви можете зіткнутися зі сценаріями, коли вам доведеться додати власні власні сценарії для перетворення даних. Завдяки можливості спеціального перетворення Data Wrangler ви можете написати свою логіку перетворення в Pandas, PySpark, PySpark SQL.
У цій публікації ми обговорюємо, як ви можете написати власну трансформацію в NLTK, щоб підготувати текстові дані для ML. Ми також поділимося деякими прикладами трансформації спеціального коду з використанням інших поширених фреймворків, таких як NLTK, NumPy, SciPy та scikit-learn, а також AWS AI Services. Для цілей цієї вправи ми використовуємо Набір даних Титаніка, популярний набір даних у спільноті машинного навчання, який тепер додано як a зразок набору даних в Data Wrangler.
Огляд рішення
Data Wrangler надає понад 40 вбудованих конекторів для імпорту даних. Після імпорту даних ви можете створити свій аналіз даних і трансформації за допомогою понад 300 вбудованих трансформацій. Потім ви можете створювати індустріалізовані конвеєри, щоб просувати функції Служба простого зберігання Amazon (Amazon S3) або Магазин функцій Amazon SageMaker. На наступній діаграмі показано наскрізну архітектуру високого рівня.
Передумови
Data Wrangler — це функція SageMaker, доступна всередині Студія Amazon SageMaker. Ви можете слідкувати процес адаптації Studio щоб розкрутити середовище Studio та блокноти. Хоча ви можете вибрати один із кількох методів автентифікації, найпростішим способом створення домену Studio є дотримання Інструкції щодо швидкого початку роботи. Швидкий старт використовує ті самі налаштування за замовчуванням, що й стандартні налаштування Studio. Ви також можете вибрати використання на борту Центр ідентифікації AWS IAM (наступник AWS Single Sign-On) для автентифікації (див Підключення до домену Amazon SageMaker за допомогою IAM Identity Center).
Імпортуйте набір даних Titanic
Запустіть середовище Studio та створіть нове Потік даних Wrangler. Ви можете імпортувати власний набір даних або використати зразок набору даних (Титанік), як показано на наступному знімку екрана. Data Wrangler дозволяє імпортувати набори даних із різних джерел даних. Для нашого випадку використання ми імпортуємо зразок набору даних із сегмента S3.
Після імпорту ви побачите два вузли (вузол джерела та вузол типу даних) у потоці даних. Data Wrangler автоматично визначає тип даних для всіх стовпців у наборі даних.
Спеціальні трансформації за допомогою NLTK
Для підготовки даних і розробки функцій за допомогою Data Wrangler ви можете використовувати понад 300 вбудованих перетворень або створювати власні перетворення. Спеціальні трансформації можна записати як окремі кроки в Data Wrangler. Вони стають частиною файлу .flow у Data Wrangler. Функція спеціального перетворення підтримує Python, PySpark і SQL як різні кроки у фрагментах коду. Після того, як файли блокнота (.ipynb) створені з файлу .flow або файл .flow використовується як рецепти, настроювані фрагменти коду перетворення зберігаються, не вимагаючи жодних змін. Така конструкція Data Wrangler дозволяє користувальницьким перетворенням стати частиною завдання обробки SageMaker для обробки масивних наборів даних за допомогою користувацьких перетворень.
Набір даних Titanic має кілька функцій (назва та home.dest), які містять текстову інформацію. Ми використовуємо НЛТК щоб розділити стовпець імен і витягти прізвище, а також надрукувати частоту прізвищ. NLTK є провідною платформою для створення програм Python для роботи з даними людської мови. Він забезпечує прості у використанні інтерфейси для понад 50 корпусів і лексичних ресурсів як-от WordNet, разом із набором бібліотек обробки тексту для класифікації, токенізації, створення тегів, синтаксичного аналізу та семантичного обґрунтування, а також обгортки для промислово потужних бібліотек обробки природної мови (NLP).
Щоб додати нове перетворення, виконайте такі дії:
- Виберіть знак плюс і виберіть Додати трансформацію.
- Вибирати Додати крок І вибирай Спеціальна трансформація.
Ви можете створити спеціальне перетворення за допомогою Pandas, PySpark, призначених для користувача функцій Python і SQL PySpark.
- Вибирати Python (Pandas) і додайте такий код, щоб отримати прізвище зі стовпця імені:
- Вибирати попередній перегляд щоб переглянути результати.
На наступному знімку екрана показано last_name
колонка витягнута.
- Додайте ще один настроюваний крок перетворення, щоб визначити частотний розподіл прізвищ, використовуючи такий код:
- Вибирати попередній перегляд переглянути результати частоти.
Спеціальні трансформації за допомогою сервісів AWS AI
Попередньо навчені служби штучного інтелекту AWS забезпечують готовий інтелект для ваших програм і робочих процесів. Служби штучного інтелекту AWS легко інтегруються з вашими програмами для вирішення багатьох типових випадків використання. Тепер ви можете використовувати можливості служб AWS AI як настроюваний крок трансформації в Data Wrangler.
«Амазонка» використовує NLP для отримання інформації про зміст документів. Він розвиває ідеї, розпізнаючи сутності, ключові фрази, мову, настрої та інші загальні елементи в документі.
Ми використовуємо Amazon Comprehend, щоб витягти сутності зі стовпця імен. Виконайте наступні дії:
- Додайте спеціальний крок трансформації.
- Вибирати Python (Pandas).
- Введіть наступний код, щоб витягти сутності:
- Вибирати попередній перегляд та візуалізувати результати.
Зараз ми додали три спеціальні трансформації в Data Wrangler.
- Вибирати Потік даних щоб візуалізувати наскрізний потік даних.
Спеціальні трансформації за допомогою NumPy і SciPy
numpy це бібліотека з відкритим кодом для Python, яка пропонує комплексні математичні функції, генератори випадкових чисел, процедури лінійної алгебри, перетворення Фур’є тощо. SciPy це бібліотека Python з відкритим вихідним кодом, яка використовується для наукових і технічних обчислень, містить модулі для оптимізації, лінійної алгебри, інтеграції, інтерполяції, спеціальних функцій, швидкого перетворення Фур’є (ШПФ), обробки сигналів і зображень, розв’язувачів тощо.
Спеціальні трансформації Data Wrangler дозволяють поєднувати Python, PySpark і SQL як різні кроки. У наведеному нижче потоці Data Wrangler різні функції з пакетів Python, NumPy і SciPy застосовуються до набору даних Titanic у кілька кроків.
Перетворення NumPy
У стовпці тарифів набір даних Titanic містяться тарифи на посадку різних пасажирів. Гістограма стовпця тарифу показує рівномірний розподіл, за винятком останнього відсіку. Застосовуючи перетворення NumPy, такі як log або квадратний корінь, ми можемо змінити розподіл (як показано перетворенням квадратного кореня).
Дивіться наступний код:
Перетворення SciPy
Такі функції SciPy, як z-score, застосовуються як частина спеціального перетворення для стандартизації розподілу вартості проїзду із середнім значенням і стандартним відхиленням.
Дивіться наступний код:
Оптимізація обмежень за допомогою NumPy і SciPy
Спеціальні перетворення Data Wrangler можуть обробляти розширені перетворення, як-от оптимізацію обмежень із застосуванням функцій оптимізації SciPy і поєднання SciPy із NumPy. У наступному прикладі вартість проїзду як функція віку не показує жодної помітної тенденції. Однак оптимізація обмежень може змінити вартість проїзду як функцію віку. Умовою обмеження в цьому випадку є те, що новий загальний тариф залишається таким же, як і старий загальний тариф. Користувальницькі перетворення Data Wrangler дозволяють запускати функцію оптимізації SciPy для визначення оптимального коефіцієнта, який може трансформувати вартість проїзду як функцію віку в умовах обмежень.
Визначення оптимізації, визначення цілі та численні обмеження можна згадати як різні функції під час формулювання оптимізації обмежень у спеціальному перетворенні Data Wrangler за допомогою SciPy і NumPy. Користувальницькі перетворення також можуть принести різні методи розв’язувача, які доступні як частина оптимізаційного пакета SciPy. Нову перетворену змінну можна створити шляхом множення оптимального коефіцієнта на вихідний стовпець і додавання до існуючих стовпців Data Wrangler. Перегляньте наступний код:
Функція спеціального перетворення Data Wrangler має можливість інтерфейсу користувача для відображення результатів функцій оптимізації SciPy, як-от значення оптимального коефіцієнта (або кількох коефіцієнтів).
Спеціальні трансформації за допомогою scikit-learn
scikit-вчитися це модуль Python для машинного навчання, створений на основі SciPy. Це бібліотека ML з відкритим кодом, яка підтримує контрольоване та неконтрольоване навчання. Він також надає різні інструменти для підгонки моделі, попередньої обробки даних, вибору моделі, оцінки моделі та багато інших утиліт.
Дискретизація
Дискретизація (інакше відомий як квантування or бінінг) забезпечує спосіб розділення безперервних ознак на дискретні значення. Деякі набори даних із безперервними ознаками можуть виграти від дискретизації, оскільки дискретизація може перетворити набір даних із безперервними атрибутами в набір із лише номінальними атрибутами. Одноразово закодовані дискретизовані функції можуть зробити модель більш виразною, зберігаючи можливість інтерпретації. Наприклад, попередня обробка за допомогою дискретизатора може внести нелінійність у лінійні моделі.
У наступному коді ми використовуємо KBinsDiscretizer
щоб дискретизувати стовпець віку на 10 бункерів:
Ви можете побачити краї кошика, надруковані на наступному знімку екрана.
Одночасне кодування
Значення в стовпцях Embarked є категоріальними значеннями. Тому ми повинні представити ці рядки як числові значення, щоб виконати класифікацію за допомогою нашої моделі. Ми також могли б зробити це за допомогою одноразового перетворення кодування.
Є три значення для Embarked: S, C і Q. Ми представляємо їх числами. Перегляньте наступний код:
Прибирати
Коли ви не використовуєте Data Wrangler, важливо вимкнути екземпляр, на якому він працює, щоб уникнути додаткових зборів.
Data Wrangler автоматично зберігає ваш потік даних кожні 60 секунд. Щоб уникнути втрати роботи, збережіть потік даних, перш ніж вимикати Data Wrangler.
- Щоб зберегти потік даних у Studio, виберіть філе, Потім виберіть Збереження потоку даних Wrangler.
- Щоб вимкнути екземпляр Data Wrangler, виберіть у Studio Запуск екземплярів та ядер.
- під ЗАПУЩЕНІ ПРОГРАМИвиберіть піктограму завершення роботи поруч із програмою sagemaker-data-wrangler-1.0.
- Вибирати Вимкнути все підтвердити.
Data Wrangler працює на примірнику ml.m5.4xlarge. Цей екземпляр зникає з ЗАПУСКАНІ ЕКЗЕМПЛЯРИ коли ви закриваєте програму Data Wrangler.
Після завершення роботи програми Data Wrangler її потрібно буде перезапустити, коли ви наступного разу відкриєте файл потоку Data Wrangler. Це може тривати кілька хвилин.
Висновок
У цьому дописі ми продемонстрували, як ви можете використовувати спеціальні перетворення в Data Wrangler. Ми використали бібліотеки та фреймворк у контейнері Data Wrangler, щоб розширити вбудовані можливості перетворення даних. Приклади в цій публікації представляють підмножину використовуваних фреймворків. Перетворення в потоці Data Wrangler тепер можна масштабувати до конвеєра для DataOps.
Щоб дізнатися більше про використання потоків даних із Data Wrangler, див Створення та використання потоку даних Wrangler та Ціни на Amazon SageMaker. Щоб почати роботу з Data Wrangler, див Підготуйте дані ML за допомогою Amazon SageMaker Data Wrangler. Щоб дізнатися більше про Autopilot і AutoML на SageMaker, відвідайте Автоматизуйте розробку моделі за допомогою Amazon SageMaker Autopilot.
Про авторів
Мінакшісундарам Тандавараян є старшим спеціалістом AI/ML із AWS. Він допомагає високотехнологічним стратегічним обліковим записам на їхньому шляху ШІ та ML. Він дуже захоплений ШІ, що керується даними.
Совік Кумар Натх є архітектором рішень AI/ML з AWS. Він має великий досвід у наскрізному дизайні та рішеннях для машинного навчання; бізнес-аналітика в рамках фінансової, операційної та маркетингової аналітики; охорона здоров'я; ланцюг поставок; та IoT. Поза роботою Совік любить подорожувати та дивитися фільми.
Камеристка є інженером із розробки програмного забезпечення в Amazon SageMaker. Вона захоплено допомагає клієнтам підготувати їхні дані в DataWrangler і створює розподілені системи машинного навчання. У вільний час Ебігейл захоплюється подорожами, походами, катанням на лижах і випічкою.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- Платоблокчейн. Web3 Metaverse Intelligence. Розширені знання. Доступ тут.
- Карбування майбутнього з Адріенн Ешлі. Доступ тут.
- джерело: https://aws.amazon.com/blogs/machine-learning/authoring-custom-transformations-in-amazon-sagemaker-data-wrangler-using-nltk-and-scipy/
- : має
- :є
- $UP
- 1
- 10
- 100
- 7
- 8
- 9
- a
- МЕНЮ
- Рахунки
- доданий
- Додатковий
- адреса
- просунутий
- після
- Століття
- AI
- Послуги ШІ
- AI / ML
- ВСІ
- дозволяє
- по
- хоча
- Amazon
- «Амазонка»
- Amazon SageMaker
- Amazon SageMaker Data Wrangler
- аналіз
- аналітика
- аналізувати
- та
- Ендрю
- Інший
- будь-який
- Apache
- додаток
- застосування
- прикладної
- Застосування
- підхід
- архітектура
- ЕСТЬ
- AS
- At
- Атрибути
- Authentication
- автор
- авторство
- автоматично
- AutoML
- доступний
- AWS
- BE
- оскільки
- ставати
- було
- перед тим
- користь
- BIN
- посадка
- приносити
- будувати
- Створюємо
- побудований
- вбудований
- бізнес
- by
- CAN
- можливості
- випадок
- випадків
- певний
- ланцюг
- зміна
- Зміни
- Вибирати
- класифікація
- код
- Кодування
- збір
- Колонка
- Колони
- об'єднувати
- об'єднання
- загальний
- співтовариство
- Компанії
- повний
- осягнути
- всеосяжний
- обчислення
- стан
- Умови
- підтвердити
- мінуси
- обмеження
- містити
- Контейнер
- зміст
- безперервний
- може
- Пара
- створювати
- виготовлений на замовлення
- Клієнти
- дані
- аналіз даних
- Підготовка даних
- керовані даними
- набори даних
- дефолт
- продемонстрований
- дизайн
- конструкцій
- Визначати
- розвивається
- розробка
- розвивається
- відхилення
- різний
- відкриття
- обговорювати
- розподілений
- розподіл
- документ
- документація
- Ні
- домен
- вниз
- легко
- легкий у використанні
- ефективний
- або
- елементи
- кінець в кінець
- інженер
- Машинобудування
- збагачення
- юридичні особи
- суб'єкта
- Навколишнє середовище
- оцінка
- Кожен
- приклад
- Приклади
- Крім
- Здійснювати
- існуючий
- досвід
- виразний
- продовжити
- обширний
- Великий досвід
- витяг
- ШВИДКО
- швидше
- особливість
- риси
- Інформація про оплату
- кілька
- філе
- Файли
- фінансовий
- пристосування
- потік
- Потоки
- Сфокусувати
- фокусування
- стежити
- після
- для
- формулювання
- Рамки
- каркаси
- Безкоштовна
- частота
- від
- веселощі
- функція
- Функції
- породжувати
- генерується
- генератори
- отримати
- обробляти
- Мати
- he
- охорона здоров'я
- допомогу
- допомагає
- привіт-тек
- на вищому рівні
- Головна
- Як
- Однак
- HTML
- HTTP
- HTTPS
- людина
- ICON
- ідентифікує
- ідентифікувати
- Особистість
- зображення
- імпорт
- важливо
- імпорт
- поліпшення
- in
- В інших
- інформація
- розуміння
- встановлювати
- екземпляр
- інтегрувати
- інтеграція
- Інтелект
- Інтерфейси
- вводити
- КАТО
- IT
- робота
- подорож
- JPG
- ключ
- відомий
- мова
- останній
- провідний
- УЧИТЬСЯ
- вивчення
- libraries
- бібліотека
- як
- трохи
- програш
- машина
- навчання за допомогою машини
- Підтримка
- зробити
- багато
- Маркетинг
- масивний
- математичний
- Може..
- згаданий
- методика
- може бути
- хвилин
- ML
- модель
- Моделі
- Модулі
- Модулі
- більше
- рухатися
- кіно
- множинний
- множення
- ім'я
- Імена
- Природний
- Обробка природних мов
- Необхідність
- Нові
- наступний
- nlp
- вузол
- вузли
- ноутбук
- номер
- номера
- нумпі
- мета
- of
- пропонує
- Старий
- on
- Onboard
- На борту
- ONE
- відкрити
- з відкритим вихідним кодом
- оперативний
- оптимальний
- оптимізація
- Оптимізувати
- порядок
- оригінал
- Інше
- інакше
- наші
- поза
- над
- власний
- пакет
- пакети
- панди
- частина
- пристрасний
- Виконувати
- фрази
- трубопровід
- платформа
- plato
- Інформація про дані Платона
- PlatoData
- плюс
- популярний
- пошта
- практики
- Готувати
- друк
- обробка
- Production
- профілювання
- програми
- забезпечувати
- забезпечує
- мета
- Штовхати
- Python
- якість
- Швидко
- випадковий
- Сировина
- надійний
- залишається
- представляти
- відповідь
- результати
- повертати
- огляд
- корінь
- прогін
- s
- мудрець
- то ж
- Зразок набору даних
- зберегти
- сценарії
- науковий
- scikit-вчитися
- scripts
- seconds
- безпечно
- вибір
- старший
- окремий
- обслуговування
- Послуги
- налаштування
- установка
- Поділитись
- Повинен
- Показувати
- показаний
- Шоу
- Вимикати
- вимикання
- підпис
- Сигнал
- простий
- спростити
- один
- Софтвер
- розробка програмного забезпечення
- рішення
- Рішення
- деякі
- Source
- Джерела
- Іскритися
- спеціальний
- спеціаліст
- Спін
- розкол
- площа
- standard
- старт
- почалася
- статистика
- Крок
- заходи
- зберігання
- зберігання
- Стратегічний
- структурування
- студія
- такі
- набір
- поставка
- ланцюжка поставок
- Опори
- Systems
- таблиця
- Приймати
- взяття
- Завдання
- технічний
- Що
- Команда
- Джерело
- їх
- отже
- Ці
- три
- час
- до
- знак
- Токенізація
- Жетони
- інструменти
- топ
- Усього:
- Перетворення
- Перетворення
- перетворень
- перетворений
- перетворення
- Подорож
- Trend
- ui
- при
- використання
- використання випадку
- використовуваний
- комунальні послуги
- значення
- Цінності
- різний
- візит
- спостереження
- шлях..
- способи
- ДОБРЕ
- який
- в той час як
- волі
- з
- в
- без
- слова
- Work
- Робочі процеси
- запис
- письмовий
- Ти
- вашу
- зефірнет