Echilibrarea claselor
Dezechilibrul dintre clase poate afecta semnificativ rezultatele predicției, așa cum reiese din diferența dintre scorurile recall și accuracy. Pentru a rezolva această problemă, se atribuie de obicei ponderi egale fiecărei clase. Folosind argumentul class_weight din DecisionTreeClassifier din sklearn, poți face clasele să devină "balanced".
Hai să corectăm modelul rezolvând problema de dezechilibru:
- mai întâi, vei configura un model cu clase echilibrate
- apoi, îl vei antrena pe datele de antrenament
- în final, vei verifica acuratețea sa pe setul de testare
Variabilele features_train, target_train, features_test și target_test sunt deja disponibile în spațiul tău de lucru.
Acest exercițiu face parte din cursul
HR Analytics: Predicția fluctuației angajaților în Python
Instrucțiuni pentru exercițiu
- Inițializează clasificatorul Decision Tree, taie ramurile inutile limitând adâncimea maximă la 5 și echilibrează ponderile claselor.
- Antrenează noul model.
- Afișează scorul de acuratețe al predicției (în procente) pentru setul de testare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)