Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj siatkę parametrów tak, aby testować 1 i 30 drzew oraz kryteria podziału gini i entropy.
  • Zdefiniuj model jako prosty RandomForestClassifier – zachowaj random_state=5, aby móc porównywać modele.
  • Ustaw opcję scoring tak, aby optymalizowała wynik recall.
  • Dopasuj model do danych treningowych X_train i y_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.____
Edytuj i uruchom kod