Конференция, на которой я недавно собирался выступить, хотела, чтобы я затронул тему реализации модельного конвейера данных. Поскольку я хотел сделать этот процесс наглядным, я решил использовать AWS Sagemaker Data Wrangler. При этом я был удивлен, поэтому я хотел поделиться пайплайном.
Почему Data Wrangler: -
- у меня было мало времени;
- кроме того, в последний раз, когда я писал код, я потерял некоторых менее технических членов аудитории;
- AWS улучшил внешний вид Sagemaker Studios; Я понял это недавно на тренировке;
- Я несколько раз использовал AWS для личных проектов, поэтому он был легко доступен.
В примере будет использоваться набор данных Example Titanic, который поставляется как часть Sagemaker.
Первая часть конвейера импортирует данные и преобразует столбцы в правильные типы данных. Затем я запускаю отчет Sagemaker Data Quality and Insight, чтобы получить представление о исходных данных.
Отчет:-
- Отчет предоставляет информацию, аналогичную Pandas Profiling, такую как отсутствующие данные, количество строк, столбцов и типы объектов.
- Предупреждения о данных
- Аномальные строки предоставляются с помощью леса изоляции алгоритма.
- Быстрая модель строится со статистикой модели.
- Также предоставляются подробные сведения о функциях и сводная статистика по функциям.
Отчет удобен и предоставляет полезную информацию. Я нашел «Быструю модель» полезной для определения наличия какой-либо целевой утечки, а также для общего поиска возможных начальных функций. Облако слов полезно для текстовых функций, чтобы начать думать о какой-либо начальной кодировке.
Анализ мультиколлинеарности можно использовать для выполнения простых корреляций или более интересных вещей, таких как создание модели LASSO. Я использовал его для создания модели LASSO, чтобы найти наименее коррелированные функции и переменные, которые могут быть наиболее важными.
На этапе вменения я заполнил пропущенные возрасты медианой, очистив пропущенные значения.
Затем я убрал возраст столбца цели — поскольку я создал новую версию, лодку — из-за утечки цели, имя — так как я не верю, что она имеет большую силу. Затем я запускаю быструю модель, чтобы получить новую мощность базовых данных (которая уменьшится!!). Я провел анализ Target Leakage, чтобы убедиться, что ничего не пропустил (я не пропустил!).
Последняя часть конвейера на этом этапе — я преобразовал поле home.dest в числовую версию самого себя, используя обработку NLP. Поскольку я думаю, что это повысит мощность любой модели, я строю после этого.
На последних этапах конвейера я:
- Drop Column — столбец home.dest;
- Ordinal encode — создать бинарный индикатор для пола;
- Анализ основных компонентов (PCA) — home.dest уменьшает размерность этих созданных переменных;
- Мультиколлинеарность — выполнить финальную проверку коррелированных переменных;
- Быстрая модель — посмотрите на мощь нового набора данных, который я создал.
- Назначение — Вывод данных в S3; это также может быть выведено в Feature Store. Выход S3 также может быть разделен.
Последние мысли:-
Преобразования, которые мы выполнили в этом небольшом пайплайне, улучшают возможности функций, которые можно использовать для моделирования. Кроме того, заданием можно легко поделиться, преобразовав конвейер в блокнот или создав задание обработки для будущего использования.
Дальнейшее чтение:-
- https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler.html
- https://aws.amazon.com/sagemaker/data-wrangler/?sagemaker-data-wrangler-whats-new.sort-by=item.additionalFields.postDateTime&sagemaker-data-wrangler-whats-new.sort-order= описание
- https://pypi.org/project/pandas-profiling/
Новичок в трейдинге? Попробуйте криптотрейдинговые боты или копи-трейдинг на лучших криптобиржах
Присоединяйтесь к Coinmonks Telegram Channel и Youtube Channel и получайте ежедневные Крипто новости