Avaliar o modelo de Logistic Regression
Accuracy geralmente não é uma métrica muito confiável porque pode ser enviesada pela classe-alvo mais comum.
Há outras duas métricas úteis:
- precisão e
- revocação (recall).
Confira os slides desta lição para ver as fórmulas relevantes.
Precisão é a proporção de previsões positivas que estão corretas. De todos os voos previstos como atrasados, qual proporção está de fato atrasada?
Revocação é a proporção de resultados positivos que foram previstos corretamente. De todos os voos atrasados, qual proporção é prevista corretamente pelo modelo?
Precisão e revocação geralmente são formuladas em termos da classe-alvo positiva. Mas também é possível calcular versões ponderadas dessas métricas que consideram as duas classes-alvo.
Os componentes da matriz de confusão estão disponíveis como TN, TP, FN e FP, assim como o objeto prediction.
Este exercicio faz parte do curso
Machine learning com PySpark
Instruções do exercicio
- Encontre a precisão e a revocação (recall).
- Crie um evaluator multiclasse e avalie a precisão ponderada.
- Crie um evaluator binário e avalie a AUC usando a métrica
"areaUnderROC".
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
from pyspark.ml.evaluation import MulticlassClassificationEvaluator, BinaryClassificationEvaluator
# Calculate precision and recall
precision = ____
recall = ____
print('precision = {:.2f}\nrecall = {:.2f}'.format(precision, recall))
# Find weighted precision
multi_evaluator = ____
weighted_precision = multi_evaluator.____(prediction, {multi_evaluator.metricName: "____"})
# Find AUC
binary_evaluator = ____
auc = binary_evaluator.____(____, {____})