Entwickle und teste das beste Modell
In Kapitel 3 hast du herausgefunden, dass die folgenden Parameter zu einem besseren Modell führen:
max_depth = 8,min_samples_leaf = 150,class_weight = "balanced"
In diesem Kapitel hast du entdeckt, dass einige Features einen vernachlässigbaren Einfluss haben. Du hast erkannt, dass du mit nur wenigen ausgewählten, wirkungsvollen Features genaue Vorhersagen treffen kannst, und hast dein Trainings- und Test-Set entsprechend aktualisiert und die Variablen features_train_selected und features_test_selected erstellt.
Mit all diesen Informationen wirst du jetzt das beste Modell zur Vorhersage der Mitarbeiterfluktuation entwickeln und es mit den passenden Metriken bewerten.
Die Variablen features_train_selected und features_test_selected stehen dir in deinem Workspace zur Verfügung, und die Funktionen recall_score und roc_auc_score wurden bereits für dich importiert.
Diese Übung ist Teil des Kurses
HR Analytics: Mitarbeiterfluktuation mit Python vorhersagen
Anleitung zur Übung
- Initialisiere das beste Modell mit den in der Beschreibung angegebenen Parametern.
- Fitte das Modell nur mit den ausgewählten Features aus dem Trainingssatz.
- Erstelle eine Vorhersage basierend auf den ausgewählten Features aus dem Testsatz.
- Gib die Accuracy-, Recall- und ROC/AUC-Werte des Modells aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)