Avaliar a árvore de decisão
Você pode ver se o seu modelo tá bom avaliando como ele se sai nos dados de teste. Como o modelo não foi treinado com esses dados, isso representa uma avaliação objetiva do modelo.
Uma matriz de confusão dá uma visão geral das previsões em relação aos valores conhecidos. Tem quatro células que mostram as contagens de:
- Verdadeiros negativos (TN) — o modelo prevê um resultado negativo e o resultado conhecido é negativo
- Verdadeiros positivos (TP) — o modelo prevê um resultado positivo e o resultado conhecido é positivo
- Falsos negativos (FN) — o modelo prevê um resultado negativo, mas o resultado conhecido é positivo.
- Falsos positivos (FP) — o modelo prevê um 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ó 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 com base nos dados de teste, então os números são menores do que seriam para previsões com os dados de treinamento.
Este exercício faz parte do curso
Machine Learning com PySpark
Instruções do exercício
- Crie uma matriz de confusão contando as combinações de “
label
” e “prediction
”. Mostra o resultado. - Conta o número de negativos verdadeiros, positivos verdadeiros, negativos falsos e positivos falsos.
- Calcule a precisão.
Exercício interativo prático
Experimente este exercício 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)