GridSearchCV – szukanie optymalnych parametrów
W tym ćwiczeniu zoptymalizujesz model w bardziej systematyczny sposób, korzystając z GridSearchCV, który wykona całą pracę za ciebie.
Dzięki GridSearchCV możesz określić, według której metryki oceniać poszczególne konfiguracje modelu. Ponieważ w wykrywaniu oszustw zależy nam przede wszystkim na wykryciu jak największej liczby przypadków fraudu, możesz dostroić ustawienia modelu tak, aby uzyskać jak najwyższy wynik Recall. Jeśli zależy ci również na ograniczeniu liczby fałszywych alarmów, możesz optymalizować pod kątem F1-score – daje to pożądany kompromis między Precision a Recall.
GridSearchCV zostało już zaimportowane z sklearn.model_selection, więc możemy od razu przystąpić do działania!
To ćwiczenie jest częścią kursu
Wykrywanie oszustw w Pythonie
Instrukcje do ćwiczenia
- Zdefiniuj siatkę parametrów tak, aby testować 1 i 30 drzew oraz kryteria podziału
giniientropy. - Zdefiniuj model jako prosty RandomForestClassifier – zachowaj
random_state=5, aby móc porównywać modele. - Ustaw opcję
scoringtak, aby optymalizowała wynik recall. - Dopasuj model do danych treningowych
X_trainiy_train, a następnie odczytaj najlepsze parametry modelu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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.____