Русский
Русский
English
Статистика
Реклама

Перевод AutoVIML Автоматизированное машинное обучение

Перевод статьи подготовлен специально для студентов курса Промышленный 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 pddf = pd.read_csv('heart_d.csv')df
Dataset Used(Source: By Author)Dataset Used(Source: By Author)

Теперь давайте разберемся, как использовать autoviml для создания модели прогнозирования с этим датасетом, и какие параметры есть в AutoVIML.

#Basic Example with all parametersmodel, 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, и какие параметры мы можем использовать. Теперь давайте подробно обсудим, за что эти параметры отвечают.

  1. train: должен содержать местоположение вашего датасета или, если вы загрузили его в dataframe, то имя dataframe. В нашем случае мы загрузили его в dataframe с именем df, поэтому мы дадим ему значение df.

  2. target: содержит имя целевой переменной. В нашем случае она называется TenYearCHD.

  3. test: содержит тестовый датасет. Также мы можем оставить его пустым (и использовать ), если у вас нет никакого тестового датасета, чтобы AutoVIML разделил датасет на обучающий и тестовый.

  4. sample_submission: мы оставим его пустым, чтобы он автоматически создавал представление в локальном каталоге.

  5. hyper_param: Мы будем использовать RandomizedSearchCV, потому что он в три раза быстрее, чем Grid Search CV. Дадим ему значение RS.

  6. feature_reduction: Установим значение true, чтобы учитывать самую важную предикторную переменную для создания модели.

  7. scoring_parameter: вы можете задать свой собственный параметр для скоринга, либо он будет выбран в соответствии с моделью. Здесь мы используем Weighted-f1.

  8. KMeans_featurizer: этот параметр должен стоять в значении true для линейного классификатора и false для XGboost или случайного классификатора, иначе есть риск переобучения.

  9. boosting_flag: используется для бустинга. Поставим значение false.

  10. binning_flag: по умолчанию стоит в значении false, но может быть установлен в true, когда мы хотим преобразовать верхние численные переменные в двоичные.

  11. add_poly: установим в false.

  12. stacking_flag: по умолчанию стоит в false. Если поставим значение true, то будет добавлена дополнительная функция, которая является производной от предсказаний другой модели. Оставим в значении false.

  13. Imbalanced_flag: если стоит значение true, то проверит данные на сбалансированность и уберет дисбаланс методом SMOTING.

  14. 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
К списку статей
Опубликовано: 27.10.2020 18:15:50
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании otus. онлайн-образование

Python

Big data

Машинное обучение

Machine learning

Data science

Artificial intelligence

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru