Настройка модели с помощью HPSklearn
Само по себе создание модели машинного обучения не решит проблему, если вы не сможете оптимизировать ее для повышения точности и производительности. Использование GridsearchCV и RandomsearchCV для определения наиболее эффективных гиперпараметров занимает много времени, а использование этих методов для различных моделей также является трудоемким процессом.
HPSklearn - это библиотека Python с открытым исходным кодом, которая не только выбирает лучшую модель для ваших данных, но и определяет лучшие параметры для этой модели. Он прост в использовании и содержит большое количество функций.
В этой статье мы обсудим, как с помощью HPsklearn сэкономить время и силы при моделировании машинного обучения.
Давайте начнем….
Установка HPSklearn
!pip install hpsklearn
Импорт необходимых библиотек
Далее мы импортируем все необходимые библиотеки, которые будут использоваться в этой статье.
from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split from hpsklearn import HyperoptEstimator, extra_trees, svc from hpsklearn import any_classifier from hpsklearn import any_preprocessing from hyperopt import tpe from sklearn import datasets import numpy as np
Загрузка набора данных
В этой статье мы будем использовать знаменитый набор данных IRIS.
# define dataset X, y = make_classification(n_samples=100, n_features=10, n_informative=5, n_redundant=5, random_state=1)
Использование HPSklearn для моделирования
Теперь мы будем использовать hpsklearn для создания модели машинного обучения.
# split into train and test sets X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=1) # define search model = HyperoptEstimator(classifier=any_classifier('cla'), preprocessing=any_preprocessing('pre'), algo=tpe.suggest, max_evals=10, trial_timeout=30) # perform the search model.fit(X_train, y_train)
# summarize performance acc = model.score(X_test, y_test) print("Accuracy: %.3f" % acc)
# summarize the best model print(model.best_model())
В этой библиотеке доступны разные классификаторы. Некоторые из них: svc, svc_linear, svc_rbf, svc_poly, svc_sigmoid, liblinear_svc, knn, ada_boost, gradient_boosting, random_forest, extra_trees, solution_tree, sgd, xgboost_classification и т. Д.
estim = HyperoptEstimator(classifier=svc('SVM'), preprocessing=any_preprocessing('pre'), algo=tpe.suggest, max_evals=10, trial_timeout=300) estim.fit( X_train, y_train )
Доступны различные методы предварительной обработки: PCA, one_hot_encoder, standard_scaler, min_max_scaler, normalized, ts_lagselector, tfidf, rbm, colkmeans.
acc = estim.score(X_test, y_test) print("Accuracy: %.3f" % acc)
print(estim.best_model())
Вот как вы можете использовать HPSklearn для автоматической оптимизации гиперпараметров. Давай, попробуй это и расскажи мне о своем опыте в разделе ответов.
Эта статья написана в сотрудничестве с Пиюшем Ингале.
Перед тем, как ты уйдешь
Спасибо за чтение! Если вы хотите связаться со мной, свяжитесь со мной по адресу [email protected] или в моем профиле LinkedIn. Вы можете просмотреть мой профиль Github для различных проектов по науке о данных и руководств по пакетам. Кроме того, не стесняйтесь изучать мой профиль и читать разные мои статьи, связанные с наукой о данных.