GridSearchCV для пошуку оптимальних параметрів
У цій вправі ви будете налаштовувати модель менш «випадковим» способом і доручите цю роботу GridSearchCV.
Завдяки GridSearchCV ви можете визначити, за якою метрикою оцінювати продуктивність. Оскільки у виявленні шахрайства нас передусім цікавить знайти якомога більше випадків шахрайства, можна оптимізувати налаштування моделі, щоб отримати якнайвищий показник Recall. Якщо для вас також важливо зменшити кількість хибних спрацювань, можна оптимізувати за F1-score — це забезпечує потрібний баланс між точністю (Precision) і повнотою (Recall).
GridSearchCV уже імпортовано з sklearn.model_selection, тож спробуймо!
Ця вправа є частиною курсу
Виявлення шахрайства в Python
Інструкції до вправи
- У сітці параметрів визначте, що ви хочете спробувати 1 і 30 дерев, а також критерії поділу
giniтаentropy. - Задайте модель як простий RandomForestClassifier; залиште
random_stateрівним 5, щоб можна було порівнювати моделі. - Встановіть параметр
scoringтак, щоб оптимізувати за повнотою (recall). - Навчіть модель на тренувальних даних
X_trainіy_trainта отримайте найкращі параметри моделі.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Define the parameter sets to test
param_grid = {'n_estimators': [____, ____], 'max_features': ['auto', 'log2'], 'max_depth': [4, 8], 'criterion': ['____', '____']
}
# Define the model to use
model = ____(random_state=5)
# Combine the parameter sets with the defined model
CV_model = GridSearchCV(estimator=model, param_grid=param_grid, cv=5, scoring='____', n_jobs=-1)
# Fit the model to our training data and obtain best parameters
CV_model.fit(____, ____)
CV_model.____