Confusion Matrix یا کانفیوژن ماتریس جدولی برای مقایسه پیش‌بینی مدل طبقه‌بندی با برچسب واقعی است. معنی فارسی این عبارت «ماتریس درهم‌ریختگی» است، اما در بحث‌های یادگیری ماشین معمولاً همان کانفیوژن ماتریس گفته می‌شود.

مثال تشخیص سفارش مشکوک

فرض کنید یک مدل می‌خواهد سفارش‌های احتمالاً تقلبی را علامت بزند و داده آزمایشی شامل ۱۰۰ سفارش است.

واقعیت / پیش‌بینیمشکوکعادی
واقعاً مشکوکTP = 18FN = 2
واقعاً عادیFP = 10TN = 70

محاسبه معیارها

  • Precision = TP / (TP + FP) = 18 / 28 ≈ 0.643
  • Recall = TP / (TP + FN) = 18 / 20 = 0.9
  • Accuracy = (TP + TN) / 100 = 0.88
  • F1 = 2 × Precision × Recall / (Precision + Recall) ≈ 0.75
from sklearn.metrics import confusion_matrix, classification_report
y_true = [1, 1, 0, 0, 1, 0]
y_pred = [1, 0, 0, 1, 1, 0]
print(confusion_matrix(y_true, y_pred, labels=[0, 1]))
print(classification_report(y_true, y_pred, zero_division=0))

نکته فنی

در داده نامتوازن، Accuracy بالا ممکن است گمراه‌کننده باشد. در تشخیص تقلب، هزینه FP و FN به تصمیم کسب‌وکار بستگی دارد.

اصطلاحات مرتبط: یادگیری ماشین، مدل پیش‌بینی‌کننده، اعتبارسنجی متقابل، ارزیابی مدل.