ロジスティック回帰モデルを評価する
正解率(Accuracy)は、最も多いターゲットクラスに偏りやすいため、一般的に信頼性の高い指標とは言えません。
他に有用な指標として、次の2つがあります。
- 適合率(Precision) と
- 再現率(Recall)
それぞれの計算式は、このレッスンのスライドで確認してください。
適合率とは、「遅延あり」と予測したフライトのうち、実際に遅延していた割合です。
再現率とは、実際に遅延したフライトのうち、モデルが正しく予測できた割合です。
適合率と再現率は、通常、正のターゲットクラスを基準に計算されます。ただし、両方のターゲットクラスを考慮した 重み付き バージョンのメトリックを計算することも可能です。
混同行列の各要素は TN、TP、FN、FP として、また prediction オブジェクトとして利用できます。
この演習はコースの一部です
Machine Learning with PySpark
演習の手順
- 適合率と再現率を求めましょう。
- マルチクラス評価器を作成し、重み付き適合率を評価しましょう。
- 二値分類評価器を作成し、
"areaUnderROC"メトリックを使って AUC を評価しましょう。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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.____(____, {____})