НачатьНачать бесплатно

Настройка гиперпараметров с помощью RandomizedSearchCV

Как вы уже видели, GridSearchCV может быть вычислительно затратным — особенно при переборе большого пространства гиперпараметров. В таких случаях удобнее использовать RandomizedSearchCV, который проверяет фиксированное количество комбинаций гиперпараметров, выбранных из заданных вероятностных распределений.

Обучающая и тестовая выборки из diabetes_df уже загружены как X_train, X_test, y_train и y_test, где целевая переменная — "diabetes". Модель логистической регрессии создана и сохранена как logreg, а переменная KFold — как kf.

Вам предстоит задать диапазон гиперпараметров и применить RandomizedSearchCV, импортированный из sklearn.model_selection, чтобы найти оптимальные значения среди предложенных вариантов.

Это упражнение является частью курса

Обучение с учителем с помощью scikit-learn

Посмотреть курс

Инструкции к упражнению

  • Создайте params: добавьте "l1" и "l2" в качестве значений penalty, задайте C как диапазон из 50 вещественных чисел от 0.1 до 1.0, а class_weight — равным либо "balanced", либо словарю {0: 0.8, 1: 0.2}.
  • Создайте объект Randomized Search CV, передав модель и параметры, и установив cv равным kf.
  • Обучите logreg_cv на обучающих данных.
  • Выведите лучшие параметры и значение точности модели.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Create the parameter space
params = {"penalty": ["____", "____"],
         "tol": np.linspace(0.0001, 1.0, 50),
         "C": np.linspace(____, ____, ____),
         "class_weight": ["____", {0:____, 1:____}]}

# Instantiate the RandomizedSearchCV object
logreg_cv = ____(____, ____, cv=____)

# Fit the data to the model
logreg_cv.____(____, ____)

# Print the tuned parameters and score
print("Tuned Logistic Regression Parameters: {}".format(____.____))
print("Tuned Logistic Regression Best Accuracy Score: {}".format(____.____))
Редактировать и запускать код