Kom igångKom igång gratis

Utveckla och testa den bästa modellen

I kapitel 3 kom du fram till att följande parametrar ger en bättre modell:

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

I det här kapitlet har du sett att vissa särdrag har försumbar påverkan. Du insåg att du kan få träffsäkra prediktioner med bara ett litet urval av de mest inflytelserika särdragen, och du uppdaterade dina tränings- och testmängder i enlighet med detta – vilket resulterade i variablerna features_train_selected och features_test_selected.

Med all den här informationen till hands ska du nu utveckla den bästa modellen för att prediktera personalomsättning och utvärdera den med lämpliga mått.

Variablerna features_train_selected och features_test_selected finns tillgängliga i din arbetsyta, och funktionerna recall_score och roc_auc_score har redan importerats åt dig.

Den här övningen är en del av kursen

HR-analys: Förutsäg personalomsättning i Python

Visa kurs

Övningsinstruktioner

  • Initiera den bästa modellen med de parametrar som anges i beskrivningen.
  • Träna modellen med enbart de utvalda särdragen från träningsdatamängden.
  • Gör en prediktion baserad på de utvalda särdragen från testdatamängden.
  • Skriv ut modellens noggrannhet (accuracy), recall och ROC/AUC-poäng.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod