Знакомство с PyCaret 3.0: последние функции и обновления

Введение

PyCaret — это библиотека машинного обучения с открытым исходным кодом на Python, которая автоматизирует рабочие процессы машинного обучения. Это комплексный инструмент машинного обучения и управления моделями, который экспоненциально ускоряет цикл экспериментов и повышает вашу продуктивность.

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

Дизайн и простота PyCaret вдохновлены растущей ролью гражданских специалистов по данным — термин, впервые использованный Gartner. Ученый-гражданин — это человек, который использует инструменты и методы анализа данных для извлечения идей и знаний из данных, но не обязательно имеет формальный опыт или образование в области науки о данных или статистики.

1. Модуль временных рядов

С выпуском PyCaret 3.0 модуль временных рядов достиг стабильного состояния и теперь легко доступен для пользователей. Этот модуль специально разработан для удовлетворения потребностей анализа временных рядов, области исследования, которая имеет дело с данными, собранными за определенный период времени.

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

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

# load dataset
from pycaret.datasets import get_data
data = get_data('airline')

# init setup
from pycaret.time_series import *
s = setup(data, fh = 12, session_id = 123)

# compare models
best = compare_models()

# forecast plot
plot_model(best, plot = 'forecast')

# forecast plot 36 days out in future
plot_model(best, plot = 'forecast', data_kwargs = {'fh' : 36})

2. Объектно-ориентированный API

PyCaret — впечатляющий инструмент, доказавший свою ценность в сообществе специалистов по данным. Но важно знать, что PyCaret не использует стандартные методы объектно-ориентированного программирования, которые обычно используют разработчики Python. В результате нам пришлось пересмотреть некоторые варианты дизайна, которые мы сделали при разработке начальной версии 1.0 PyCaret.

Стоит подчеркнуть, что это существенное изменение, для реализации которого потребуются значительные усилия. Тем не менее, это изменение необходимо, чтобы убедиться, что PyCaret следует передовым методам программирования на Python и остается надежным и полезным инструментом для специалистов по данным.

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

# Functional API (Existing)

# load dataset
from pycaret.datasets import get_data
data = get_data('juice')

# init setup
from pycaret.classification import *
s = setup(data, target = 'Purchase', session_id = 123)

# compare models
best = compare_models()

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

Однако с нашим новым объектно-ориентированным API вы можете легко проводить несколько экспериментов в одном блокноте и без труда сравнивать их. Это связано с тем, что параметры связаны с объектом и могут быть связаны с различными параметрами моделирования и предварительной обработки.

# load dataset
from pycaret.datasets import get_data
data = get_data('juice')

# init setup 1
from pycaret.classification import ClassificationExperiment
exp1 = ClassificationExperiment()
exp1.setup(data, target = 'Purchase', session_id = 123)

# compare models init 1
best = exp1.compare_models()

# init setup 2
exp2 = ClassificationExperiment()
exp2.setup(data, target = 'Purchase', normalize = True, session_id = 123)

# compare models init 2
best2 = exp2.compare_models()

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

import pandas as pd

# generate leaderboard
leaderboard_exp1 = exp1.get_leaderboard()
leaderboard_exp2 = exp2.get_leaderboard()
lb = pd.concat([leaderboard_exp1, leaderboard_exp2])

# print pipeline steps
print(exp1.pipeline.steps)
print(exp2.pipeline.steps)

3. Регистрация эксперимента

В PyCaret 2 ведение журнала экспериментов с использованием MLflow автоматизировано и включено по умолчанию. Однако PyCaret 3 предлагает пользователям расширенный набор возможностей для регистрации экспериментов. Последняя версия теперь включает поддержку wandb, cometml и dagshub в дополнение к MLflow.

Переключиться с регистратора MLflow по умолчанию на один из недавно добавленных параметров очень просто. Просто передайте желаемую опцию ведения журнала в качестве параметра функции log_experiment. Доступные варианты включают mlflow wandb cometml dagshub

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

Понравился блог? Свяжитесь с Моезом Али

Моэз Али — новатор и технолог. Специалист по данным, ставший менеджером по продуктам, посвятил себя созданию современных и передовых продуктов для обработки данных и развитию активных сообществ с открытым исходным кодом вокруг них.

Создатель PyCaret, более 100 публикаций с 500+ цитированиями, основной докладчик и всемирно признанный вклад в Python с открытым исходным кодом.

Давай будем друзьями! связаться со мной:

👉 LinkedIn
👉 Twitter
👉 Medium
👉 YouTube

🔥 Посетите мой новый личный сайт: https://www.moez.ai.

Чтобы узнать больше о моей работе с открытым исходным кодом: PyCaret, вы можете проверить этот репозиторий GitHub или подписаться на официальную страницу LinkedIn PyCaret.

Послушайте мой доклад Прогнозирование временных рядов с помощью PyCaret на DATA+AI SUMMIT 2022 от Databricks.

🚀 Мои самые читаемые статьи:











Подпишитесь на DDIntel Здесь.

Посетите наш сайт здесь: https://www.datadriveninvestor.com

Присоединяйтесь к нашей сети здесь: https://datadriveninvestor.com/collaborate