ПочатиПочніть безкоштовно

Налаштування гіперпараметрів за допомогою 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(____.____))
Редагувати та запускати код