Aan de slagGa gratis aan de slag

Klassen balanceren

Het kan de voorspellingsresultaten aanzienlijk beïnvloeden, zoals blijkt uit het verschil tussen de recall- en accuracy-scores. Om de onbalans op te lossen, worden meestal gelijke gewichten aan elke klasse gegeven. Met het argument class_weight in sklearn's DecisionTreeClassifier kun je de klassen "balanced" maken.

Laten we ons model corrigeren door het onbalansprobleem op te lossen:

  • eerst ga je een model opzetten met gebalanceerde klassen
  • daarna fit je het op de trainingsgegevens
  • tot slot controleer je de nauwkeurigheid op de testset

De variabelen features_train, target_train, features_test en target_test zijn al beschikbaar in je werkruimte.

Deze oefening maakt deel uit van de cursus

HR-analytics: verloop van medewerkers voorspellen in Python

Cursus bekijken

Oefeninstructies

  • Initialiseer de Decision Tree Classifier, snoei je boom door de maximale diepte te beperken tot 5, en balanceer de klassegewichten.
  • Fit het nieuwe model.
  • Print de accuracy-score van de voorspelling (in procentpunten) voor de testset.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren