Balanceando classes
Isso pode afetar bastante os resultados das previsões, como mostrado pela diferença entre as métricas de recall e accuracy. Para resolver o desbalanceamento, geralmente se atribuem pesos iguais a cada classe. Usando o argumento class_weight no DecisionTreeClassifier do sklearn, você pode fazer com que as classes fiquem "balanced".
Vamos corrigir nosso modelo resolvendo o problema de desbalanceamento:
- primeiro, você vai configurar um modelo com classes balanceadas
- depois, vai ajustá-lo aos dados de treino
- por fim, vai verificar sua acurácia no conjunto de teste
As variáveis features_train, target_train, features_test e target_test já estão disponíveis no seu workspace.
Este exercício faz parte do curso
HR Analytics: prevendo rotatividade de funcionários em Python
Instruções do exercício
- Inicialize o Decision Tree Classifier, prune sua árvore limitando sua profundidade máxima a 5 e balanceie os pesos das classes.
- Ajuste o novo modelo.
- Imprima a
scorede acurácia da previsão (em pontos percentuais) para o conjunto de teste.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)