Avaliar a Decision Tree
Você pode avaliar a qualidade do seu modelo verificando como ele se sai nos dados de teste. Como o modelo não foi treinado nesses dados, isso representa uma avaliação objetiva do modelo.
Uma confusion matrix oferece um detalhamento útil de previsões versus valores conhecidos. Ela tem quatro células que representam as contagens de:
- True Negatives (TN) — o modelo prevê resultado negativo e o resultado conhecido é negativo
- True Positives (TP) — o modelo prevê resultado positivo e o resultado conhecido é positivo
- False Negatives (FN) — o modelo prevê resultado negativo, mas o resultado conhecido é positivo
- False Positives (FP) — o modelo prevê resultado positivo, mas o resultado conhecido é negativo.
Essas contagens (TN, TP, FN e FP) devem somar o número de registros nos dados de teste, que são apenas um subconjunto dos dados de voos. Você pode comparar com o número de registros nos dados de teste, que é flights_test.count().
Observação: Essas previsões são feitas nos dados de teste, então as contagens são menores do que seriam para previsões nos dados de treino.
Este exercicio faz parte do curso
Machine learning com PySpark
Instruções do exercicio
- Crie uma confusion matrix contando as combinações de
labeleprediction. Exiba o resultado. - Conte o número de True Negatives, True Positives, False Negatives e False Positives.
- Calcule a acurácia.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# Create a confusion matrix
prediction.groupBy(____, 'prediction').____().____()
# Calculate the elements of the confusion matrix
TN = prediction.filter('prediction = 0 AND label = prediction').count()
TP = prediction.____('____ AND ____').____()
FN = prediction.____('____ AND ____').____()
FP = prediction.____('____ AND ____').____()
# Accuracy measures the proportion of correct predictions
accuracy = ____
print(accuracy)