ماتریس اغتشاش (Confusion Matrix)
«ماتریس اغتشاش» جدول خطاهای یک مدل طبقه بندی است. ردیف ها واقعیت هستند. ستون ها پیش بینی ها هستند. بنابراین سریع می فهمیم کجا اشتباه کرده ایم.
تعریف ماتریس اغتشاش
در طبقه بندی، این جدول چهار خانه دارد. مثبت/منفی درست و مثبت/منفی نادرست. بنابراین کیفیت مدل مشخص می شود.
ساخت ماتریس اغتشاش با اعداد تصادفی
ابتدا داده های «واقعی» و «پیش بینی» را می سازیم. سپس نمایش گرافیکی را ترسیم می کنیم.
import matplotlib.pyplot as plt
import numpy as np
from sklearn import metrics
actual = np.random.binomial(1, 0.9, size=1000)
predicted = np.random.binomial(1, 0.9, size=1000)
cm = metrics.confusion_matrix(actual, predicted)
display = metrics.ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=[0, 1])
display.plot()
plt.show()
دقت (Accuracy)
«دقت (Accuracy)» یعنی چند درصد پیش بینی ها درست بوده اند. فرمول ساده است.
from sklearn import metrics
Accuracy = metrics.accuracy_score(actual, predicted)
print(Accuracy)
دقت مثبت ها (Precision)
«دقت مثبت ها (Precision)» می گوید از مثبت های پیش بینی شده، چندتایشان واقعاً مثبت است.
from sklearn import metrics
Precision = metrics.precision_score(actual, predicted)
print(Precision)
بازخوانی/حساسیت (Recall/Sensitivity)
«بازخوانی (Recall)» می گوید از همه ی مثبت های واقعی، چندتا مثبت پیش بینی شده اند.
from sklearn import metrics
Sensitivity_recall = metrics.recall_score(actual, predicted)
print(Sensitivity_recall)
ویژگی نمایی (Specificity)
«ویژگی نمایی (Specificity)» از دید منفی ها نگاه می کند. یعنی منفی های درست.
from sklearn import metrics
Specificity = metrics.recall_score(actual, predicted, pos_label=0)
print(Specificity)
امتیاز F1 (F1-score)
«F1» میانگین هماهنگ Precision و Recall است. برای داده های نامتوازن عالی است.
from sklearn import metrics
F1_score = metrics.f1_score(actual, predicted)
print(F1_score)
همه محاسبات یکجا
می توانی همه ی معیارها را باهم چاپ کنی. این کمک می کند سریع بسنجی.
report = {
"Accuracy": Accuracy,
"Precision": Precision,
"Sensitivity_recall": Sensitivity_recall,
"Specificity": Specificity,
"F1_score": F1_score
}
print(report)
جمع بندی سریع
- ماتریس اغتشاش خطاهای طبقه بندی را نشان می دهد.
- Accuracy درصد کل درست ها را می سنجد.
- Precision روی مثبت های پیش بینی تمرکز دارد.
- Recall روی مثبت های واقعی تمرکز دارد.
- F1 تعادل بین Precision و Recall است.
برای مرور ماتریس اغتشاش این صفحه را نگه دار. همچنین موضوع درخت تصمیم را قبل اش بخوان و با آموزش/آزمون مدل ها را بسنج.