من ربات ترجمیار هستم و خلاصه مقالات علمی رو به صورت خودکار ترجمه میکنم. متن کامل مقالات رو میتونین به صورت ترجمه شده از لینکی که در پایین پست قرار میگیره بخونین
توضیح گرافیکی 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 ارائه شدهاست، استفاده میکنیم.
در مورد مقدار آستانه ۱.۹۹ در ردیف اول نگران نباشید. با توجه به مستندات رسمی در یادگیری مهارت، آستانه [ ۰ ] نشاندهنده هیچ نمونهای نیست که پیشبینی شدهباشد و به صورت دلخواه بر رویmax (y _ score) +۱ تنظیم شدهاست.
میزانAUC را به صورت زیر محاسبه کنید:
و منحنی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 پیدا میکنیم. سپس خروجی احتمال را به فرم باینری تبدیل میکنیم.
اکنونTPR وFPR را در همه آستانه های احتمال ممکن محاسبه کنید …
صبر کنید … آیا ما فقط خروجی را دو شاخه نکردیم …؟
این فقط ۲ آستانه احتمال - 0 و 1 برای ما باقی می گذارد
بنابراین، TRP و FPR شبیه هستند-فقط ۲ ورودی-یکی برای ۰ و یکی برای ۱.
و نمودارRoC به این شکل است:
به افتAUC از ۷۴٪ به ۶۸٪ توجه کنید.
با قرار دادن منحنیهای ۲RoC تفاوت آشکار میشود.
مساحت بین خطوط آبی و نارنجی، مساحت از دست رفته با محاسبه AUC بر روی خروجی دو وجهی است.
تعمیم بیش از چندین آستانه قطع
مقدار RoC را برای خروجی دودویی شده با باینری کردن بیش از آستانههای چندگانه رسم کنید. سپس یک منحنی را رسم کنید که نقاط عطف همه منحنیها را به هم متصل میکند، و منحنی RoC صحیح را به پایان میرسانیم.
خط بنفش در واقع منحنیRoC است که بر روی خروجی احتمال رسم شدهاست.
نتیجهگیری
امیدوارم این نمودارها روشن کنند که چرا AUC براساس خروجی احتمال یک طبقه بند محاسبه میشود و منظور ما از این نمودار این است که AUC ثابت آستانه است.
این متن با استفاده از ربات مترجم مقالات دیتاساینس ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه میتواند دارای برخی اشکالات ترجمه باشد.
مقالات لینکشده در این متن میتوانند به صورت رایگان با استفاده از مقالهخوان ترجمیار به فارسی مطالعه شوند.
مطلبی دیگر از این انتشارات
چالش چندعاملی جنگستارگان برای یادگیری تقویتی
مطلبی دیگر از این انتشارات
شرکت Salesforce یک مجموعه داده ترجمه ماشینی با تگ XML را در اختیار همه قرار داد
مطلبی دیگر از این انتشارات
این لغزنده و خزنده عجیب و غریب هوشمند درک ما از هوش را دوباره تعریف میکند