Bilanciamento delle classi
Questo può influire in modo significativo sui risultati di previsione, come mostrano le differenze tra i punteggi di recall e accuracy. Per risolvere lo sbilanciamento, di solito si assegnano pesi uguali a ciascuna classe. Usando l'argomento class_weight in DecisionTreeClassifier di sklearn, è possibile impostare le classi su "balanced".
Correggiamo il modello risolvendo il problema di sbilanciamento:
- per prima cosa, imposta un modello con classi bilanciate
- poi, adatta il modello ai dati di training
- infine, verifica l'accuratezza sul test set
Le variabili features_train, target_train, features_test e target_test sono già disponibili nel tuo workspace.
Questo esercizio fa parte del corso
HR Analytics: prevedere l'abbandono dei dipendenti in Python
Istruzioni dell'esercizio
- Inizializza il Decision Tree Classifier, pota l'albero limitandone la profondità massima a 5 e bilancia i pesi delle classi.
- Adatta il nuovo modello.
- Stampa lo
scoredi accuratezza della previsione (in punti percentuali) sul test set.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)