IniziaInizia gratis

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

Visualizza il corso

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 score di 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)
Modifica ed esegui il codice