Используя библиотеку Lazy Predict, мы можем легко сравнивать наиболее эффективные алгоритмы классификации и регрессии. Автором этой библиотеки является Шанкар Рао Пандала, и здесь - ссылка на документацию.

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

Классификационная задача:

Установка библиотеки:

! pip install lazypredict

Используйте указанную выше команду, чтобы установить библиотеку lazypredict.

Импорт необходимых библиотек и данных о раке груди:

# Импортировать библиотеки
import lazypredict
из lazypredict.Supervised import LazyClassifier
из sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

# Загрузить набор данных
data = load_breast_cancer ()
X = data.data
y = data.target

Теперь разделим данные на соотношение 80/20:

# Разделение данных
X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 100)

Назначение ленивого классификатора:

# Определяет и создает ленивый классификатор
clf = LazyClassifier (verbose = 0, ignore_warnings = True, custom_metric = None)
models_train, predictions_train = clf.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = clf.fit (X_train, X_test, y_train, y_test)

Обучение эффективности данных:

# Печатает производительность модели на обучающем наборе
models_train

Производительность тестовых данных:

# Печатает производительность модели в тестовом наборе данных
models_test

Из приведенных выше изображений мы можем понять, как строятся различные алгоритмы классификатора (около 28 моделей), и мы можем сравнить их точность, показатели ROC AUC и F1, а также время, затраченное на их создание.

Давайте создадим гистограмму для сравнения этих моделей, используя библиотеки seaborn и matplot.

импортировать matplotlib.pyplot как plt
импортировать seaborn как sns

plt.figure (figsize = (5, 10))
sns.set_theme (style = "whitegrid")
ax = sns.barplot (y = models_train.index, x = "Accuracy", data = models_train)

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

Задача регрессии:

# Загрузка набора данных о жилье в Бостоне
boston = datasets.load_boston ()
X, y = shuffle (boston.data, boston.target, random_state = 42)

Теперь разделим данные на соотношение 80/20:

# Разделение данных
X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = .2, random_state = 42)

Назначение ленивого регрессора:

# Определяет и создает ленивый классификатор
reg = LazyRegressor (verbose = 0, ignore_warnings = False, custom_metric = None)
models_train, predictions_train = reg.fit (X_train, X_train, y_train, y_train)
models_test, predictions_test = reg.fit (X_train, X_test, y_train, y_test)

Обучение эффективности данных:

# Печатает производительность модели в наборе обучающих данных
models_train

Производительность тестовых данных:

# Печатает производительность модели в тестовом наборе данных
models_test

Из приведенных выше изображений мы можем понять, как строятся различные алгоритмы регрессора (около 36 моделей), и мы можем сравнить их R-квадрат, значения RMSE и время, необходимое для построения.

Давайте создадим гистограмму для сравнения этих моделей, используя библиотеки seaborn и matplot.

импортировать matplotlib.pyplot как plt
импортировать seaborn как sns

models_train [«R-Squared»] = [0, если i ‹0, иначе i для i в models_train.iloc [:, 0]]

plt.figure (figsize = (5, 10))
sns.set_theme (style = ”whitegrid”)
ax = sns.barplot (y = models_train.index, x = ”R-Squared”, data = models_train)
ax.set (xlim = (0, 1))

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

Примечание.

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

Так что вы думаете, ребята? Мне будет интересно узнать ваше мнение по этому поводу. Надеюсь, я дал вам краткое представление о том, как быстро создавать модели машинного обучения, используя всего несколько строк кода. Поставьте, если вам понравился этот пост для дополнительной мотивации. Я всегда открыт для ваших предложений и вопросов.