Évaluer le modèle de régression logistique
La précision n'est généralement pas un indicateur très fiable, car elle peut être biaisée par la classe cible la plus courante.
Il existe deux autres indicateurs utiles :
- précision et
- rappel.
Veuillez consulter les diapositives de cette leçon pour obtenir les expressions pertinentes.
La précision est la proportion de prédictions positives qui sont correctes. Pour tous les vols qui sont susceptibles d'être retardés, quelle est la proportion de ceux qui sont effectivement retardés ?
La sensibilité est la proportion de résultats positifs qui sont correctement prédits. Pour tous les vols retardés, quelle proportion est correctement prédite par le modèle ?
La précision et le rappel sont généralement formulés en termes de classe cible positive. Cependant, il est également possible de calculer des versions pondérées de ces mesures qui prennent en compte les deux classes cibles.
Les composants de la matrice de confusion sont disponibles sous les noms TN
, TP
, FN
et FP
, ainsi que l'objet prediction
.
Cet exercice fait partie du cours
Apprentissage automatique avec PySpark
Instructions
- Trouvez la précision et la pertinence.
- Créez un évaluateur multi-classes et évaluez la précision pondérée.
- Créez un évaluateur binaire et évaluez l'AUC à l'aide de la métrique d'
"areaUnderROC"
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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.____(____, {____})