معیارهایی برای ارزیابی مسائل طبقه بندی
نرخ دقت (Accuracy) معیار مهمی برای ارزیابی عملکرد مدل است، اما کافی نیست. از این روی، معیارهای دیگری برای ارزیابی عملکرد مدل و مسائل طبقه بندی معرفی شدهاند که به کمک آنها میتوانیم درک جامعتر و کلیتری نسبت به عملکرد مدل داشته باشیم. برخی از این معیارها عبارتند از: صحت، حساسیت، منحنی ROC و مقدار F1.
طبیعتاً معیار را باید بر مبنای هدف نهایی برنامه ML انتخاب کنیم. لذا، برای ساخت مدل باید درک کاملی نسبت به فرایند تصمیمگیری داشته باشیم.
در مقاله پیشرو، به مطالعه و بررسی معیارهای ارزیابی مدل، فرایند تصمیمگیری و … میپردازیم.
بررسی معیارهای ارزیابی مدل، فرایند تصمیمگیری و…
بخش اول: صحت (Precision) و حساسیت (Recall)
پیش از معرفی معیارهای صحت و حساسیت، لازم است ماتریس در هم ریختگی Confusion matrix را به صورت مختصر توضیح دهیم.
از ماتریس در هم ریختگی برای نمایشِ نتایج ارزیابی مسائل طبقه بندی دودویی استفاده میشود. ماتریس در هم ریختگی بدین شکل است:
همانگونه که در ماتریس فوق مشاهده میکنید، مقادیر میتوانند در یکی از دستههای TN ( منفی صحیح)، TP ( مثبت صحیح)، FN (منفی کاذب) و FP (مثبت کاذب) قرار بگیرند.
- TP: الگوریتم نمونه را در دسته مثبت طبقه بندی کرده و نمونه هم مثبت است
- FP: الگوریتم نمونه را در دسته مثبت طبقه بندی کرده اما نمونه منفی است
- TN: الگوریتم نمونه را در دسته منفی طبقه بندی کرده و نمونه هم منفی است
- FN: الگوریتم نمونه را در دسته منفی طبقه بندی کرده اما نمونه مثبت است
به بیان دیگر، زمانیکه الگوریتم کلاس نمونه را اشتباه پیشبینی میکند، نتیجه FN یا FP خواهد بود و در مقال، زمانیکه الگوریتم کلاسِ نمونه را به درستی پیشبینی میکند، نتیجه TN یا TP خواهد بود.
با توجه به آنچه گفته شد، نرخ دقت مدل را میتوانیم با نسبت زیر محاسبه کنیم:
(TP+TN) / (TN+FN+TP+FP)
به عبارت دیگر، برای محاسبه نرخ دقت باید نتایج مثبت (TP, TN) را بر نتایج دیگر (TN, FN, TP, FP) تقسیم کنیم.
منظور از صحت، مقدارِ نمونههایی است که الگوریتم کلاس آنها را به درستی پیشبینی کرده و آنها را در دسته مثبت طبقه بندی کرده است. بنابراین:
TP / (TP + FP)
زمانیکه میخواهیم از درستی پیشبینیهایمان مطمئن شویم، معیار صحت بسیار مفید و کارساز خواهد بود؛ این معیار به ما نشان میدهد چه تعداد از نمونههایی که کلاسشان مثبت پیشبینی شده، واقعاً مثبت هستند.
یکی دیگر از معیارهای ارزیابی عملکرد مدل، معیار حساسیت است؛ برای مثال، با استفاده از این معیار میتوانیم تعداد نمونههایی که الگوریتم در دسته مثبت طبقه بندی کرده را نسبت به تعداد کلِ نمونههای مثبت بسنجیم.
TP / (TP + FN)
بخش دوم: منحنی ROC
فرض کنید میخواهیم نرخ مثبت کاذب (FPR) را با نرخ مثبت صحیح (TPR) مقایسه کنیم.
نرخ مثبت صحیح (TPR) همان معیار حساسیت است. بنابراین فرمول آن بدین شکل خواهد بود:
TPR(recall) = TP/(TP+FN)
و فرمول FPR به شکل زیر خواهد بود:
FPR = FP/(FP+TN)
برای مقایسه FRP با TPR میتوانیم از منحی ROC کمک بگیریم.
در منحنی ROC، حالت ایدهآل این است که منحنی به قسمت بالا، سمت چپ نزدیک باشد. هدف ما این است که مدلی بسازیم که TPR (حساسیت) آن بالا و FPR آن پایین باشد.
اگر بخواهیم منحنی ROC را به صورت عددی نشان دهیم، میتوانیم مساحت زیر منحنی (AUC) را محاسبه کنیم. در تصویر مقابل، منحنی ROC و مساحت آن نشان داده شده است:
بخش سوم: مقدار F1
برای اینکه درک بهتر و دقیقتری از معیارهای صحت و حساسیت داشته باشیم، میتوانیم از مقدار F1 استفاده کنیم. مقدار F1 در واقع میانگین همساز Harmonic mean صحت و حساسیت است. برای محاسبه مقدار F1 میتوانیم از فرمول زیر استفاده کنیم:
F = 2*(precision-recall)/(precision+recall)
البته توجه داشته باشید، مواقعی که توزیع کلاسهای دیتاست نامتوازن است و قصد داریم عملیات طبقه بندی دودویی را بر روی آنها انجام دهیم، مقدار F1 نسبت به نرخ دقت معیار نتایج بهتری به دست میدهد.
در ضمن میتوانیم classification report را از sklean metrics بارگذاری کنیم؛ این ماژول مقدار F1 و معیارهای دیگر از جمله صحت و حساسیت را به ما نمایش میدهد.
نتیجهگیری
در مسائل طبقه بندی، اغلب از این معیارها برای ارزیابی عملکرد مدل استفاده میشود. لذا، در زمان ساخت مدلهای طبقه بندی بهتر است از این معیارها برای ارزیابی عملکرد مدلتان استفاده کنید.