Этот пакет автоматизированного машинного обучения с учителем сэкономит вам много времени и энергии.

Если вы когда-либо пытались читать статьи по оптимизации моделей машинного обучения, чтобы улучшить свои прогнозы, вы не одиноки. Большинство специалистов по обработке данных часами тренируют свои модели машинного обучения, чтобы предсказывать результаты на основе собранных данных. На мой взгляд, нетехническим людям нужно разбираться в основах машинного обучения, а не прикладывать усилия, чтобы стать экспертом в различных моделях машинного обучения. Им необходимо понимать преимущества машинного обучения и то, как оно может помочь их предприятию.

Конвейер AutoML включает в себя предварительную обработку данных, разработку функций, выбор функций, обучение модели, настройку гиперпараметров и выбор алгоритма.

Что, если бы существовал пакет Python с открытым исходным кодом, который мог бы делать все вышеперечисленное и автоматически определять лучшую модель? Пакет, который объяснит вам, как именно строится каждая модель машинного обучения, а также предоставит вам подробный отчет!

Ответ на вопрос - пакет Python ‘mjlar supervised’. Он был разработан MJLAR с целью помочь разработчикам программного обеспечения и аналитикам данных, не имеющим классического обучения машинному обучению.

Обзор

Пакет ‘mjlar supervised’ позволяет вам выбирать алгоритмы машинного обучения, предварительно обрабатывать набор данных, обучать и настраивать модель и, наконец, объяснять и оценивать модель.

Выбор алгоритма

Этот пакет позволяет пользователю проверять свою модель с помощью различных алгоритмов: Baseline, Linear, Random Forest, Extra Trees, LightGBM, Xgboost, CatBoost, Neural Networks, Ensemble, и Nearest Neighbors. После запуска кода выходные данные покажут вам, сколько времени потребовалось каждой модели для обучения набора данных и среднеквадратичную ошибку обученной модели. Пакет выберет алгоритм с наименьшей среднеквадратичной ошибкой.

Доступные режимы

Доступные режимы позволяют пользователю объяснять и оптимизировать модель машинного обучения в соответствии с аудиторией. Он имеет четыре режима - Объяснение, Выполнение, Соревнование и Оптуна.

automl = AutoML(mode=”Explain”)

Режим Объяснение позволяет пользователю объяснять модель, включая построение кривых обучения, графиков функций и графиков SHAP.

automl = AutoML(mode=”Perform”)

Режим Выполнить позволяет пользователю обучать модель, которая будет использоваться в реальных случаях использования.

automl = AutoML(mode=”Compete”)

Режим Соревноваться позволяет пользователю адаптировать стратегию проверки в зависимости от размера набора данных и может использоваться для участия в соревнованиях по машинному обучению.

automl = AutoML(mode=”Optuna”)

Режим Optuna следует использовать, когда приоритетом является производительность модели, а не время.

Вычислить прогнозы

После определения правильного алгоритма мы можем использовать функцию AutoML, чтобы делать прогнозы с использованием метода predict.

automl.fit(X_train, y_train)

После того, как модель подобрана, можно создать prediction_df DataFrame для сохранения всех прогнозов, сделанных нашей моделью.

prediction_df = automl.predict_all(X_test)

Рабочий пример

Наша цель - создать модель машинного обучения, которая будет прогнозировать стоимость домов в Бостоне на основе различных характеристик. Начнем с открытия Jupyter Notebook. Мы импортируем библиотеки pandas, matplotlib, numpy, supervised.automl, и sklearn.

Затем давайте импортируем набор данных о жилищном строительстве Бостона из библиотеки sklearn. Он содержит 506 записей, которые представляют собой совокупную информацию о 14 особенностях домов из разных пригородов, расположенных в Бостоне.

DataFrame X будет содержать 13 столбцов, которые представляют различные характеристики, такие как преступность на душу населения, доступность радиальных автомагистралей, ставка налога на имущество, доля не розничных коммерческих площадей на город и т. Д. DataFrame y будет содержать 1 столбец со средним значением владельца -жилые дома в 1000 долларов.

Далее мы разделим данные на подмножества для обучения и тестирования. Данные будут перетасованы в случайном порядке, чтобы устранить любую систематическую ошибку в упорядочивании набора данных.

Теперь давайте воспользуемся функцией AutoML, чтобы соответствовать набору обучающих данных.

Наконец, давайте сохраним результаты прогнозов в DataFrame prediction_df и визуализируем результаты с помощью matplotlib library.

На последнем этапе мы проверим нашу модель, используя статистические показатели - среднеквадратичную ошибку (MSE) и среднюю абсолютную ошибку (MAE). В этом случае MSE составляла 13,9, а MAE - 7,26.

Заключение

В этом посте вы познакомились с новым и развивающимся пакетом машинного обучения от MJLAR, который эффективно работает с табличными данными. Этот пакет с открытым исходным кодом позволит пользователям автоматизировать конвейер машинного обучения, включая разработку функций, настройку гиперпараметров и обучение модели. Зрителям также был представлен рабочий пример, показывающий, как реализовать этот пакет для прогнозирования цен на жилье.

Надеюсь, вам понравилось читать этот пост так же, как и мне. Удачного кодирования!

Ресурсы

  1. Https://mljar.com/automated-machine-learning/
  2. Https://github.com/mljar/mljar-supervised#mljar-heart
  3. Https://github.com/mljar/mljar-examples
  4. Https://towardsdatascience.com/machine-learning-project-predicting-boston-house-prices-with-regression-b4e47493633d