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

З'єднаймо все докупи

Ви щойно приєдналися до стартапу з виявлення аритмій і хочете натренувати модель на наборі даних про аритмії arrh. Ви помітили, що випадкові ліси часто перемагають у змаганнях Kaggle, тож хочете спробувати цей підхід з максимальною глибиною 2, 5 або 10, використовуючи grid search. Ви також бачите, що розмірність набору даних доволі висока, тож варто оцінити вплив методу відбору ознак.

Щоб випадково не перенавчити модель, ви вже розбили дані. Ви використаєте X_train і y_train для grid search, а X_test і y_test — щоб вирішити, чи допомагає відбір ознак. Усі чотири фолди набору даних уже завантажені у ваше середовище. Також у вас є доступ до GridSearchCV(), train_test_split(), SelectKBest(), chi2() і RandomForestClassifier як rfc.

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

Проєктування робочих процесів машинного навчання в Python

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

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

  • Використайте grid search, щоб перевірити максимальну глибину 2, 5 і 10 для RandomForestClassifier, і збережіть найкраще налаштування параметра.
  • Тепер перевчіть оцінювач, використовуючи найкращу кількість дерев, визначену вище.
  • Застосуйте відбір ознак SelectKBest з оціночною функцією chi2 і перевчіть класифікатор.

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

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

# Find the best value for max_depth among values 2, 5 and 10
grid_search = GridSearchCV(
  ____(random_state=1), param_grid=____)
best_value = grid_search.____(
  ____, ____).best_params_['max_depth']

# Using the best value from above, fit a random forest
clf = rfc(
  random_state=1, ____=best_value).____(X_train, y_train)

# Apply SelectKBest with chi2 and pick top 100 features
vt = SelectKBest(____, k=____).____(X_train, y_train)

# Create a new dataset only containing the selected features
X_train_reduced = ____.transform(____)
Редагувати та запускати код