Zacznij terazZacznij za darmo

Dostosowanie modelu

Prostym sposobem na dostosowanie modelu lasu losowego do pracy z mocno niezbalansowanymi danymi o oszustwach jest użycie opcji class_weights podczas definiowania modelu sklearn. Jak się jednak przekonasz, jest to dość ogólny mechanizm, który może nie sprawdzić się w każdym konkretnym przypadku.

W tym ćwiczeniu sprawdzisz tryb weight = "balanced_subsample" w modelu lasu losowego z wcześniejszego ćwiczenia. Dane zostały już podzielone na zbiór treningowy i testowy — dostępne są zmienne X_train, X_test, y_train, y_test. Funkcje metryk zostały już zaimportowane.

To ćwiczenie jest częścią kursu

Wykrywanie oszustw w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Ustaw argument class_weight klasyfikatora na balanced_subsample.
  • Dopasuj model do zbioru treningowego.
  • Uzyskaj predykcje i prawdopodobieństwa na podstawie X_test.
  • Oblicz roc_auc_score, raport klasyfikacji oraz macierz pomyłek.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Define the model with balanced subsample
model = RandomForestClassifier(class_weight='____', random_state=5)

# Fit your training model to your training set
model.fit(____, ____)

# Obtain the predicted values and probabilities from the model 
predicted = ____.____(____)
probs = ____.____(____)

# Print the roc_auc_score, the classification report and confusion matrix
print(____(____, ____))
print(____(____, ____))
print(____(____, ____))
Edytuj i uruchom kod