Zacznij terazZacznij za darmo

Równoważenie klas

Nierównowaga klas może znacząco wpływać na wyniki predykcji – widać to wyraźnie w różnicy między wartościami recall i accuracy. Aby rozwiązać ten problem, zwykle przypisuje się równe wagi każdej klasie. Argument class_weight w klasie DecisionTreeClassifier z biblioteki sklearn pozwala ustawić klasy jako "balanced".

Poprawmy nasz model, eliminując problem nierównowagi klas:

  • najpierw skonfigurujesz model z wyważonymi klasami,
  • następnie dopasowujesz go do danych treningowych,
  • na końcu sprawdzisz jego dokładność na zbiorze testowym.

Zmienne features_train, target_train, features_test i target_test są już dostępne w twoim środowisku pracy.

To ćwiczenie jest częścią kursu

HR Analytics: Przewidywanie rotacji pracowników w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj klasyfikator drzewa decyzyjnego, przytnij drzewo, ograniczając jego maksymalną głębokość do 5, i wyważ wagi klas.
  • Dopasuj nowy model.
  • Wyświetl dokładność score predykcji (w punktach procentowych) dla zbioru testowego.

Interaktywne ćwiczenie praktyczne

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

# Initialize the DecisionTreeClassifier 
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)

# Fit the model
model_depth_5_b.____(features_train,target_train)

# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)
Edytuj i uruchom kod