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

RandomizedSearchCV у Scikit Learn

Попрактикуймося у створенні обʼєкта RandomizedSearchCV за допомогою Scikit Learn.

Сітка гіперпараметрів має містити max_depth (усі значення від 5 до 25 включно) і max_features ('auto' та 'sqrt').

Бажані параметри для обʼєкта RandomizedSearchCV:

  • Оцінювач RandomForestClassifier з n_estimators дорівнює 80.
  • 3-кратна крос-валідація (cv)
  • Використовуйте roc_auc, щоб оцінювати моделі
  • Використовуйте 4 ядра для паралельної обробки (n_jobs)
  • Перенавчіть (refit) найкращу модель і повертайте тренувальні бали
  • Виберіть лише 5 моделей для ефективності (n_iter)

Набори даних X_train і y_train вже завантажено для вас.

Пам'ятайте: щоб отримати вибрані гіперпараметри, зверніться до cv_results_, де для кожного гіперпараметра є окрема колонка. Наприклад, колонка для гіперпараметра criterion має назву param_criterion.

Ця вправа є частиною курсу

Тюнінг гіперпараметрів у Python

Переглянути курс

Інструкції до вправи

  • Створіть сітку гіперпараметрів відповідно до вимог вище.
  • Створіть обʼєкт RandomizedSearchCV, як описано вище.
  • Навчіть (fit) обʼєкт RandomizedSearchCV на тренувальних даних.
  • Зверніться до обʼєкта cv_results_, щоб вивести значення, обрані під час моделювання, для обох гіперпараметрів (max_depth і max_features).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Create the parameter grid
param_grid = {'max_depth': list(range(____,26)), 'max_features': [____ , ____]} 

# Create a random search object
random_rf_class = RandomizedSearchCV(
    estimator = ____(n_estimators=____),
    param_distributions = ____, n_iter = ____,
    scoring=____, n_jobs=____, cv = ____, refit=____, return_train_score = ____ )

# Fit to the training data
____.fit(X_train, y_train)

# Print the values used for both hyperparameters
print(random_rf_class.cv_results_[____])
print(random_rf_class.cv_results_[____])
Редагувати та запускати код