Aan de slagGa gratis aan de slag

Ontwikkel en test het beste model

In Hoofdstuk 3 ontdekte je dat de volgende parameters tot een beter model leiden:

  • max_depth = 8,
  • min_samples_leaf = 150,
  • class_weight = "balanced"

In dit hoofdstuk heb je gezien dat sommige features verwaarloosbaar weinig impact hebben. Je realiseerde je dat je nauwkeurige voorspellingen kunt krijgen met slechts een klein aantal geselecteerde, impactvolle features, en je hebt je trainings- en testset hierop aangepast. Zo ontstonden de variabelen features_train_selected en features_test_selected.

Met al deze informatie ga je nu het beste model ontwikkelen om personeelsverloop te voorspellen en het evalueren met de juiste metrics.

De variabelen features_train_selected en features_test_selected zijn beschikbaar in je werkruimte, en de functies recall_score en roc_auc_score zijn al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

HR-analytics: verloop van medewerkers voorspellen in Python

Cursus bekijken

Oefeninstructies

  • Initialiseer het beste model met de parameters uit de omschrijving.
  • Fit het model met alleen de geselecteerde features uit de trainingsset.
  • Maak een voorspelling op basis van de geselecteerde features uit de testset.
  • Print de accuracy-, recall- en ROC/AUC-scores van het model.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Initialize the best model using parameters provided in description
model_best = DecisionTreeClassifier(____=____, ____=____, ____=____, random_state=42)

# Fit the model using only selected features from training set: done
model_best.fit(____, target_train)

# Make prediction based on selected list of features from test set
prediction_best = model_best.____(____)

# Print the general accuracy of the model_best
print(____.score(features_test_selected, target_test) * 100)

# Print the recall score of the model predictions
print(____(target_test, prediction_best) * 100)

# Print the ROC/AUC score of the model predictions
print(roc_auc_score(target_test, ____) * 100)
Code bewerken en uitvoeren