評估 Logistic Regression 模型
Accuracy(準確率)通常不是很可靠的指標,因為它可能會被最常見的目標類別所偏斜。
另外兩個實用的指標是:
- precision(精確率)
- recall(召回率)。
請查看本課的投影片以取得相關公式。
Precision 是正向預測中實際正確的比例。對所有被預測為延誤的航班,實際延誤的比例是多少?
Recall 是正向結果中被正確預測的比例。對所有實際延誤的航班,模型正確預測的比例是多少?
Precision 和 recall 一般以正向目標類別來表述。不過,也可以計算這些指標的加權版本,同時考量兩個目標類別。
混淆矩陣的各元件可透過 TN、TP、FN 和 FP 取得,另外還提供物件 prediction。
本練習屬於課程
使用 PySpark 的機器學習
練習說明
- 求出 precision 與 recall。
- 建立多類別 evaluator,並評估加權 precision。
- 建立二元分類 evaluator,並使用度量
"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.____(____, {____})