ÎncepețiÎncepe gratuit

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

Vezi cursul

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)
Editează și rulează codul