Vyvažování tříd
Na výsledky predikce může mít nevyvážení tříd velký vliv, jak ukazuje rozdíl mezi hodnotami recall a accuracy. Jako řešení se obvykle přiřadí každé třídě stejná váha. Pomocí argumentu class_weight v DecisionTreeClassifier z knihovny sklearn lze třídy nastavit jako "balanced".
Opravme náš model a vyřešme problém s nevyvážením tříd:
- nejprve nastavíš model s vyváženými třídami
- pak ho natrénuješ na trénovacích datech
- nakonec ověříš jeho přesnost na testovací sadě
Proměnné features_train, target_train, features_test a target_test jsou v tvém workspace už připravené.
Toto cvičení je součástí kurzu
HR Analytics: Predicting Employee Churn in Python
Pokyny k cvičení
- Inicializuj klasifikátor rozhodovacího stromu, prořež strom omezením jeho maximální hloubky na 5 a vyvaž váhy tříd.
- Natrénuj nový model.
- Vypiš přesnost
scorepredikce (v procentech) pro testovací sadu.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)