Я хотел бы начать этот блог с того, что отдавал должное тому, кто он делает. Человек по имени Исмаэль Араужо около месяца назад сделал интересный пост, который можно найти здесь. Он довольно хорошо объясняет, как можно запустить более сорока моделей примерно в десяти строках кода, используя библиотеку под названием Lazy Predict. В этом посте я объясню свои мысли о библиотеке и продемонстрирую, как реализовать ее как с классификационными, так и с регрессионными моделями.

Наборы данных…

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

LazyClassifier…

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

pip install lazypredict

После завершения установки пакета вам нужно будет импортировать библиотеки ниже, выберите LazyClassifier или LazyRegressor в соответствии с вашими потребностями.

import lazypredict
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from lazypredict.Supervised import LazyClassifier, LazyRegressor

Затем вам нужно будет загрузить свои данные.

df = pd.read_csv(r"C:\Users\leerowe\Desktop\drug_data.csv")

После загрузки данных важно убедиться, что вы работаете с правильно отформатированными данными. Использование .info (), а также .isnull () - отличное место для начала. Когда ваши данные будут готовы к работе, вам нужно будет выбрать целевую переменную, а затем выполнить train_test_split над вашими данными.

# Creating our target variable
target = 'Drug'
y = df[target]
X = df.drop(columns=target)
                     
# Splitting our data into a train and test set
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    test_size=0.2,
                                                    random_state=42)

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

classifiers = LazyClassifier(ignore_warnings=True, custom_metric=None)
models,predictions = classifiers.fit(X_train, X_test, y_train, y_test)
print(models)

LazyRegressor…

Если вы еще не установили Lazy Predict, вы можете использовать ячейку кода ниже.

pip install lazypredict

Затем еще раз после завершения установки вам нужно будет импортировать библиотеки, перечисленные ниже, в этом примере я буду использовать LazyRegressor вместо LazyClassifier.

import lazypredict
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from lazypredict.Supervised import LazyClassifier, LazyRegressor

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

df = pd.read_csv(r"C:\Users\leerowe\Desktop\wine_data.csv")

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

# Creating our target variable
target = 'quality'
y = df[target]
X = df.drop(columns=target)
                     
# Splitting our data into a train and test set
X_train, X_test, y_train, y_test = train_test_split(X, y,
                                                    test_size=0.2,
                                                    random_state=42)

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

regressors = LazyRegressor(ignore_warnings=True, custom_metric=None)
models, predictions = regressors.fit(X_train, X_test, y_train, y_test)
print(models)

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