Dostosowanie lasu losowego do wykrywania oszustw
W tym ćwiczeniu przyjrzysz się bliżej opcjom klasyfikatora lasu losowego – przypiszesz wagi oraz dostosujesz kształt drzew decyzyjnych w lesie. Ręcznie zdefiniujesz wagi, aby częściowo zniwelować nierównowagę klas. W naszym zbiorze danych mamy 300 przypadków oszustwa na 7000 przypadków bez oszustwa. Ustawiając stosunek wag 1:12, osiągamy proporcję 1/3 oszustwo do 2/3 bez oszustwa – co jest wystarczająco dobre do trenowania modelu.
Dane w tym ćwiczeniu zostały już podzielone na zbiór treningowy i testowy, więc możesz skupić się wyłącznie na definicji modelu. Następnie skorzystaj z funkcji get_model_results() jako skrótu – dopasowuje ona model do danych treningowych, generuje predykcje i oblicza metryki wydajności, podobnie jak w poprzednich ćwiczeniach.
To ćwiczenie jest częścią kursu
Wykrywanie oszustw w Pythonie
Instrukcje do ćwiczenia
- Zmień opcję
weight, aby ustawić stosunek 1 do 12 dla przypadków bez oszustwa i z oszustwem, oraz ustaw kryterium podziału na 'entropy'. - Ustaw maksymalną głębokość drzewa na 10.
- Ustaw minimalną liczbę próbek w węzłach liści na 10.
- Ustaw liczbę drzew w modelu na 20.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Change the model options
model = RandomForestClassifier(bootstrap=True, class_weight={0:____, 1:____}, criterion='____',
# Change depth of model
max_depth=____,
# Change the number of samples in leaf nodes
min_samples_leaf=____,
# Change the number of trees to use
n_estimators=____, n_jobs=-1, random_state=5)
# Run the function get_model_results
get_model_results(X_train, y_train, X_test, y_test, model)