توضیح گرافیکی RoC و AUC

منتشر‌شده در: towardsdatascience به تاریخ ۱۲ ژوئن ۲۰۲۱ لینک منبع A Graphical Explanation of RoC and AUCاین پست به شما کمک خواهد کرد تا مزیت AUC را نسبت به معیارهای دیگر، نحوه محاسبه آن (با استفاده ازRoC) ، و اینکه چرا محاسبه آن ضروری است، درک کنید.شکل ۱: روح طبیعت (تصویر یکایاوو از پیکسل های)مقدمهاگر یک طبقه‌بندی کننده ایجاد کرده‌اید، قطعا عملکرد مدل را با استفاده از معیارهایی مانند دقت، دقت، یادآوری، یا امتیاز F اندازه‌گیری کرده‌اید. اما هر یک از این معیارها پس از تعریف احتمال قطع (مانند ۰.۵) محاسبه می‌شوند که در آن معیار اندازه‌گیری می‌شود.مزیت AUC نسبت به سایر معیارهازمانی که دو مدل رقیب دارید و می‌خواهید عملکرد آن‌ها را مقایسه کنید چطور؟ چه می‌شود اگر مدل ۱ در یک قطع ۰.۵ بهترین عملکرد را داشته باشد، و مدل ۲ در قطع ۰.۴ بهترین عملکرد را داشته باشد؟ سپس بررسی معیارهای ذکر شده در بالا به تنهایی یک دیدگاه ناقص خواهد داد. بنابراین، توصیه می‌شود که در هنگام مقایسه دو مدل، ناحیه زیر منحنی مشخصه عملیاتی دریافت‌کننده (RoC) بررسی شود.علت آن این است کهAUC یک معیار ثابت آستانه است. منظور ما این است که AUC به آستانه احتمال مورد استفاده برای محاسبه عملکرد طبقه‌بندی بستگی ندارد. در عوض، ما در تمام احتمالات قطع بین ۰ و ۱ تکرار می‌کنیم و TPR و FPR را در هر قطع محاسبه می‌کنیم.سپس منحنی را رسم کنید-منحنی RoC از FPR در مقابل TPR-و سطح زیر آن منحنی را محاسبه کنید. اینAUC است.محاسبهAUC-راه درستمن یک طبقه‌بندی کننده در محل دارم که احتمال بازگشت مشتریان برای خرید در ماه آینده را پیش‌بینی می‌کند [ مطالعه موردی تراکنش خرده‌فروشی ].شکل ۲: خروجی احتمال یک طبقه‌بندی کنندهبرای محاسبهTPR وFPR، از تابع roc_curve که در sklearn.metrics ارائه شده‌است، استفاده می‌کنیم.شکل ۳: Rc TPR و FPR را در هر آستانه باز می‌گردانددر مورد مقدار آستانه ۱.۹۹ در ردیف اول نگران نباشید. با توجه به مستندات رسمی در یادگیری مهارت، آستانه [ ۰ ] نشان‌دهنده هیچ نمونه‌ای نیست که پیش‌بینی شده‌باشد و به صورت دل‌خواه بر رویmax (y _ score) +۱ تنظیم شده‌است.میزانAUC را به صورت زیر محاسبه کنید:و منحنیRoC را به صورت زیر رسم کنید:شکل ۴: ارائه صحیحRoCاشتباه رایج هنگام محاسبهAUCاغلب اوقات وقتی بیش از حد مجذوب می‌شویم و کد را برای محاسبه f1 می‌نویسیم (یا دقت، یادآوری دقت و غیره) مانند:f1 = f1_score(y_true, y_pred)… ما در نهایت این خط را کپی می‌کنیم و همان خط را ویرایش می‌کنیم تا AUC را به این صورت محاسبه کنیم:AUC = roc_auc_score(y_true, y_pred)یکی فراموش می کند کهf1 از خروجی دوتایی استفاده می کند ، در حالی که AUC به خروجی احتمالی مدل نیاز دارد. بنابراین کد صحیح باید به صورت زیر باشد:AUC = roc_auc_score(y_true, y_pred_prob)چرا اشتباه است؟اگر ویژگی ثابت آستانهAUC را به هم بزنید چه اتفاقی می‌افتد؟ چه اتفاقی می‌افتد وقتی که AUC را در نتیجه دو وجهی طبقه‌بندی کننده محاسبه می‌کنید؟بیایید با استفاده از همین مثال درک کنیم.ما بهترین قطع احتمال را برای مطالعه موردی تراکنش خرده‌فروشی خود با به حداکثر رساندن برایF1 پیدا می‌کنیم. سپس خروجی احتمال را به فرم باینری تبدیل می‌کنیم.شکل ۵: خروجی احتمال یک طبقه‌بندی کننده (L) و خروجی مقید(R)اکنونTPR وFPR را در همه آستانه های احتمال ممکن محاسبه کنید …صبر کنید … آیا ما فقط خروجی را دو شاخه نکردیم …؟این فقط ۲ آستانه احتمال - 0 و 1 برای ما باقی می گذاردبنابراین، TRP و FPR شبیه هستند-فقط ۲ ورودی-یکی برای ۰ و یکی برای ۱.شکل ۶: RoC برای خروجی دودویی شدهو نمودارRoC به این شکل است:به افتAUC از ۷۴٪ به ۶۸٪ توجه کنید.با قرار دادن منحنی‌های ۲RoC تفاوت آشکار می‌شود.شکل ۸: منطقه از دست رفتهمساحت بین خطوط آبی و نارنجی، مساحت از دست رفته با محاسبه AUC بر روی خروجی دو وجهی است.تعمیم بیش از چندین آستانه قطعمقدار RoC را برای خروجی دودویی شده با باینری کردن بیش از آستانه‌های چندگانه رسم کنید. سپس یک منحنی را رسم کنید که نقاط عطف همه منحنی‌ها را به هم متصل می‌کند، و منحنی RoC صحیح را به پایان می‌رسانیم.خط بنفش در واقع منحنیRoC است که بر روی خروجی احتمال رسم شده‌است.نتیجه‌گیریامیدوارم این نمودارها روشن کنند که چرا AUC براساس خروجی احتمال یک طبقه بند محاسبه می‌شود و منظور ما از این نمودار این است که AUC ثابت آستانه است.این متن با استفاده از ربات مترجم مقالات دیتاساینس ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.