[Python, Big Data, Машинное обучение] AutoVIML: Автоматизированное машинное обучение (перевод)

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
27-Окт-2020 22:31

Перевод статьи подготовлен специально для студентов курса «Промышленный ML на больших данных»
Машинное обучение обладает преимуществом обучения алгоритмов, которые автоматически улучшаются, используя полученный опыт. Существует N различных алгоритмов и методов машинного обучения, и вам, как правило, нужно попробовать множество из них, чтобы найти лучшую модель прогнозирования для вашего датасета -  ту, которая будет иметь наивысшую точность. Большинство методов машинного обучения, таких как регрессионные методы, классификация и другие модели, есть в Sklearn, но, чтобы выбрать, какой метод лучше всего подходит в нашем конкретном случае, нужно опробовать все эти модели вместе с настройкой гиперпараметров и найти наиболее эффективную модель. Вся эта работа отнимает много сил и времени, объем которых можно уменьшить с помощью пакета AutoVIML в Python. AutoVIML – это открытый пакет Python, который упрощает машинное обучение. Что он делает, так это визуализирует ваши данные с помощью различных моделей машинного обучения и находит лучшую модель с наибольшей точностью для данного датасета. Нет необходимости делать предварительную обработку датасета перед передачей его в AutoVIML, он автоматически очищает ваши данные, помогает вам классифицировать переменные, выполняет сокращение функций, может обрабатывать данные различных типов – текстовые, числовые, даты и т.д. с помощью одной модели. В этой статье мы узнаем, как пользоваться AutoVIML, чтобы сократить время и усилия, затрачиваемые на создание моделей машинного обучения. Мы посмотрим, как различные параметры, которые мы используем в AutoVIML, влияют на прогноз. Устанавливаем AutoVIML Как и любую другую python-библиотеку, autoviml мы будем устанавливать через pip.
pip install autoviml
Импортируем AutoVIML
from autoviml.Auto_ViML import Auto_ViML
Загружаем датасет Для освоения AutoVIML подойдет любой датасет. В этой статье я использую датасет с данными сердечных заболеваний, который вы можете скачать с Kaggle. В нем есть различные атрибуты и целевая переменная. 
import pandas as pd
df = pd.read_csv('heart_d.csv')
df

Dataset Used(Source: By Author) Теперь давайте разберемся, как использовать autoviml для создания модели прогнозирования с этим датасетом, и какие параметры есть в AutoVIML.
#Basic Example with all parameters
model, features, trainm, testm = Auto_ViML(
    train,
    target,
    test,
    sample_submission,
    hyper_param="GS",
    feature_reduction=True,
    scoring_parameter="weighted-f1",
    KMeans_Featurizer=False,
    Boosting_Flag=False,
    Binning_Flag=False,
    Add_Poly=False,
    Stacking_Flag=False,
    Imbalanced_Flag=False,
    verbose=0,
)
Из кода выше видно, как создать модель с помощью AutoVIML, и какие параметры мы можем использовать. Теперь давайте подробно обсудим, за что эти параметры отвечают.
  • train: должен содержать местоположение вашего датасета или, если вы загрузили его в dataframe, то имя dataframe. В нашем случае мы загрузили его в dataframe с именем «df», поэтому мы дадим ему значение «df».
  • target: содержит имя целевой переменной. В нашем случае она называется «TenYearCHD». 
  • test: содержит тестовый датасет. Также мы можем оставить его пустым (и использовать ””), если у вас нет никакого тестового датасета, чтобы AutoVIML разделил датасет на обучающий и тестовый.
  • sample_submission: мы оставим его пустым, чтобы он автоматически создавал представление в локальном каталоге.
  • hyper_param: Мы будем использовать RandomizedSearchCV, потому что он в три раза быстрее, чем Grid Search CV. Дадим ему значение «RS».
  • feature_reduction: Установим значение true, чтобы учитывать самую важную предикторную переменную для создания модели.
  • scoring_parameter: вы можете задать свой собственный параметр для скоринга, либо он будет выбран в соответствии с моделью. Здесь мы используем «Weighted-f1».
  • KMeans_featurizer: этот параметр должен стоять в значении true для линейного классификатора и false для XGboost или случайного классификатора, иначе есть риск переобучения.
  • boosting_flag: используется для бустинга. Поставим значение false.
  • binning_flag: по умолчанию стоит в значении false, но может быть установлен в true, когда мы хотим преобразовать верхние численные переменные в двоичные.
  • add_poly: установим в false.
  • stacking_flag: по умолчанию стоит в false. Если поставим значение true, то будет добавлена дополнительная функция, которая является производной от предсказаний другой модели. Оставим в значении false.
  • Imbalanced_flag: если стоит значение true, то проверит данные на сбалансированность и уберет дисбаланс методом SMOTING.
  • Verbose: обычно используется для вывода выполняемых шагов. Поставим значение 3.
Теперь давайте используем все эти параметры для нашего датасета и создадим наиболее эффективную модель с высокой точностью при помощи AutoVIML.
model, features, trainm, testm = Auto_ViML(
    train=df,
    target="TenYearCHD",
    test="",
    sample_submission="",
    hyper_param="RS",
    feature_reduction=True,
    scoring_parameter="weighted-f1",
    KMeans_Featurizer=False,
    Boosting_Flag=True,
    Binning_Flag=False,
    Add_Poly=False,
    Stacking_Flag=True,
    Imbalanced_Flag=True,
    verbose=3
)
Давайте проанализируем полученный результат.1. Часть анализа данных
2. Чистка данных и отбор признаков
3. Балансировка данных и создание моделей
4. Отчет о классификации и матрица смежности
5. Визуализации моделей
6. Важность признаков и прогностическая вероятность
В наборе выше мы видели, как AutoVIML обрабатывает данные, очищает их, балансирует переменную результата и создает лучшую модель вместе с визуализациями для лучшего понимания.Аналогичным образом, вы можете изучить AutoVIML, используя различные датасеты, и поделиться своим опытом в комментариях. AutoVIML – простой способ создать эффективные модели машинного обучения, основываясь на вашем датасете.
===========
Источник:
habr.com
===========

===========
Автор оригинала: Himanshu Sharma
===========
Похожие новости: Теги для поиска: #_python, #_big_data, #_mashinnoe_obuchenie (Машинное обучение), #_machine_learning, #_data_science, #_artificial_intelligence, #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
)
, #_python, #_big_data, #_mashinnoe_obuchenie (
Машинное обучение
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 19:29
Часовой пояс: UTC + 5