فرض کنید ما یک دیتاست داریم که قراره کلاسیفایر را آموزش بدیم که تصاویر چهره را تشخیص بده.کلاسیفایر احتمال چهره بودن هر تصویر را در بازه [0,1] میده فرض می کنیم تصاویری که دارای احتمال 0.5 هستند به عنوان چهره و مابقی به عنوان غیر چهره در نظر بگیریم.
حال پس از تست کلاسیفایر بر روی کل دیتاست از نظر کارایی کلاسیفایر چهار تا پارامتر را محاسبه می کنیم.
True Positive :تعداد تصاویری که چهره تشخیص داده شده و واقعاً تصاویر چهره هستند.
True Negative:تعداد تصاویری که چهره تشخیص داده نشده و واقعاً تصاویری غیر از چهره هستند.
False Positive:تعداد تصاویری که چهره تشخیص داده شده در صورتیکه واقعاً تصویر چهره نیستند.
False Negative:تعداد تصاویری که چهره تشخیص داده نشده در صورتیکه واقعاً تصویر چهره هستند.
confusion matrix یک ماتریس مربعیه که در مثال بالا برای یک binary classification استفاده شده که برای multiclass classiication ابعاد بجای 2 میشه n تعداد کلاس ها.
پس از محاسبه confusion matrix می تونیم true positive rate و false positive rate را محاسبه کنیم که در ترسیم ROC استفاده میشن
True positive rate( Hit rate) = true positives/(true positives + false negatives)
False positive rate( False alarm rate) = false positives/(false positives + true negatives)
نمودار ROC در واقع تاثیر تغییرات threshold را محاسبه به صورت نمودار به ما نشان میده.threshold در واقع نقطه ای هست که با آن داده های را به دو بخش positive و negative بخش بندی کردیم همانطور که مشاهده می کنید در مثال بالا ما threshold=0.5 فرض کردیم و confusion matrix را نمایش دادیم.
نمونه ای نمودار ROC را در شکل زیر ببینید.
ROC به صورت نمودار دو بعدی است که در محور x مربوط به False positive rate و محور y مربوط به true positive rate هستش نقطه سمت چپ بالا نقطه
ایده ال این نمودار است جائیکه بالاترین true positive و پایین ترین false positive را داریم.ما با هر دقتی می تونیم ROC را رسم کنیم مثلا 0.1و 0.01 و یا 0.001 رسم کنیم و با توجه به مسئله خودمون می تونیم مناسب ترین threshold را انتخاب کنیم.
مورد آخر در مورد ROC باید ذکر کنم بحث مساحت زیر نمودار ROC که تحت عنوان AUC است وقتی که شما مسئله خود را با چندین مدل بررسی می کنید مثلا KDTree و SVM شما برای هر دو مدل AUC را محاسبه می کنید مدلی که دارای AUC بالاتر باشه آن مدل دقت بالاتری داره.