Accuracy

4.3.1

Accuracy

อัปเดต 2020-01-29 อ่าน 1 นาที
สรุป
  • Accuracy วัดสัดส่วนการทำนายถูกต้องทั้งหมด
  • เมื่อข้อมูลไม่สมดุลอาจทำให้เข้าใจผิด จึงควรใช้ตัวชี้วัดอื่นร่วมด้วย
  • มักใช้คู่กับ Balanced Accuracy, Precision/Recall และ ROC/PR

1. นิยาม #

ให้ (TP, FP, FN, TN) จาก confusion matrix:

$$ \mathrm{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN} $$

Accuracy เข้าใจง่าย แต่ไม่สะท้อนผลของคลาสส่วนน้อยได้ดี


2. คำนวณด้วย Python 3.13 #

1
2
python --version        # เช่น Python 3.13.0
pip install scikit-learn
1
2
3
4
5
from sklearn.metrics import accuracy_score, balanced_accuracy_score

acc = accuracy_score(y_true, y_pred)
bal_acc = balanced_accuracy_score(y_true, y_pred)
print(acc, bal_acc)

3. ข้อควรระวัง #

  • คลาสไม่สมดุล: Accuracy สูงอาจซ่อน recall ที่ต่ำของคลาสส่วนน้อย
  • ตัวชี้วัดเสริม: Precision/Recall/F1, Balanced Accuracy, ROC-AUC หรือ PR-AUC
  • Confusion matrix: ช่วยเห็นรูปแบบความผิดพลาดชัดเจน

4. สรุป #

  • Accuracy เหมาะเป็นตัวชี้วัดภาพรวมแบบรวดเร็ว
  • ในข้อมูลไม่สมดุลควรใช้ร่วมกับตัวชี้วัดอื่นเสมอ