শ্রেণীবিভাগ: ROC বক্ররেখা এবং AUC

ROC বক্ররেখা

একটি ROC বক্ররেখা ( রিসিভার অপারেটিং চরিত্রগত বক্ররেখা ) হল একটি গ্রাফ যা সমস্ত শ্রেণিবিন্যাস থ্রেশহোল্ডে একটি শ্রেণীবিভাগ মডেলের কার্যকারিতা দেখায়। এই বক্ররেখা দুটি পরামিতি প্লট করে:

  • সত্যিকারের ইতিবাচক হার
  • মিথ্যা ইতিবাচক হার

ট্রু পজিটিভ রেট ( টিপিআর ) প্রত্যাহার জন্য একটি প্রতিশব্দ এবং তাই নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

$$TPR = \frac{TP} {TP + FN}$$

ফলস পজিটিভ রেট ( FPR ) নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

$$FPR = \frac{FP} {FP + TN}$$

একটি ROC বক্ররেখা বিভিন্ন শ্রেণিবিন্যাস থ্রেশহোল্ডে TPR বনাম FPR প্লট করে। শ্রেণীবিন্যাস থ্রেশহোল্ড কমানো আরও আইটেমকে ইতিবাচক হিসাবে শ্রেণীবদ্ধ করে, এইভাবে মিথ্যা ইতিবাচক এবং সত্য ইতিবাচক উভয়ই বৃদ্ধি পায়। নিম্নলিখিত চিত্রটি একটি সাধারণ ROC বক্ররেখা দেখায়।

ROC বক্ররেখা বিভিন্ন শ্রেণিবিন্যাস থ্রেশহোল্ডে TP রেট বনাম FP রেট দেখাচ্ছে।

চিত্র 4. টিপি বনাম এফপি রেট বিভিন্ন শ্রেণীবিন্যাস থ্রেশহোল্ডে।

একটি ROC বক্ররেখাতে পয়েন্টগুলি গণনা করার জন্য, আমরা বিভিন্ন শ্রেণিবিন্যাসের থ্রেশহোল্ড সহ একটি লজিস্টিক রিগ্রেশন মডেলকে অনেকবার মূল্যায়ন করতে পারি, তবে এটি অদক্ষ হবে। সৌভাগ্যবশত, একটি দক্ষ, বাছাই-ভিত্তিক অ্যালগরিদম রয়েছে যা আমাদের জন্য এই তথ্য প্রদান করতে পারে, যাকে বলা হয় AUC।

AUC: ROC বক্ররেখার অধীনে এলাকা

AUC এর অর্থ হল "আরওসি কার্ভের অধীনে এলাকা।" অর্থাৎ, AUC (0,0) থেকে (1,1) পর্যন্ত সমগ্র ROC বক্ররেখার নীচে সমগ্র দ্বি-মাত্রিক এলাকা পরিমাপ করে (ভাবুন ইন্টিগ্রাল ক্যালকুলাস)।

AUC (আরওসি বক্ররেখার অধীনে এলাকা)।

চিত্র 5. AUC (ROC কার্ভের অধীনে এলাকা)।

AUC সমস্ত সম্ভাব্য শ্রেণীবিন্যাস থ্রেশহোল্ড জুড়ে কর্মক্ষমতার একটি সামগ্রিক পরিমাপ প্রদান করে। AUC ব্যাখ্যা করার একটি উপায় হল সম্ভাব্যতা হিসাবে যে মডেলটি একটি এলোমেলো নেতিবাচক উদাহরণের চেয়ে একটি এলোমেলো ইতিবাচক উদাহরণকে বেশি স্থান দেয়। উদাহরণস্বরূপ, নিম্নলিখিত উদাহরণগুলি দেওয়া হয়েছে, যা লজিস্টিক রিগ্রেশন পূর্বাভাসের আরোহী ক্রমে বাম থেকে ডানে সাজানো হয়েছে:

ইতিবাচক এবং নেতিবাচক উদাহরণগুলি লজিস্টিক রিগ্রেশন স্কোরের ক্রমবর্ধমান ক্রম অনুসারে স্থান পেয়েছে

চিত্র 6. ভবিষ্যদ্বাণীগুলি লজিস্টিক রিগ্রেশন স্কোরের ক্রমবর্ধমান ক্রম অনুসারে স্থান পেয়েছে।

AUC সম্ভাব্যতার প্রতিনিধিত্ব করে যে একটি র্যান্ডম ইতিবাচক (সবুজ) উদাহরণ একটি এলোমেলো নেতিবাচক (লাল) উদাহরণের ডানদিকে অবস্থিত।

AUC এর মান 0 থেকে 1 পর্যন্ত। একটি মডেল যার ভবিষ্যদ্বাণী 100% ভুল তার AUC 0.0 আছে; যার ভবিষ্যদ্বাণী 100% সঠিক তার AUC 1.0 আছে।

নিম্নলিখিত দুটি কারণে AUC বাঞ্ছনীয়:

  • AUC হল স্কেল-অপরিবর্তনীয় । এটি পরিমাপ করে যে ভবিষ্যদ্বাণীগুলি তাদের পরম মানগুলির পরিবর্তে কতটা ভাল র‌্যাঙ্ক করা হয়েছে।
  • AUC হল শ্রেণীবিভাগ-থ্রেশহোল্ড-অপরিবর্তনীয় । এটি মডেলের ভবিষ্যদ্বাণীর গুণমান পরিমাপ করে তা নির্বিশেষে কোন শ্রেণিবিন্যাস থ্রেশহোল্ড বেছে নেওয়া হয়েছে।

যাইহোক, এই উভয় কারণই সতর্কতার সাথে আসে, যা নির্দিষ্ট ব্যবহারের ক্ষেত্রে AUC এর উপযোগিতাকে সীমিত করতে পারে:

  • স্কেল পরিবর্তন সবসময় কাম্য নয়। উদাহরণস্বরূপ, কখনও কখনও আমাদের সত্যিই ভাল ক্যালিব্রেটেড সম্ভাব্যতা আউটপুট প্রয়োজন, এবং AUC আমাদের সে সম্পর্কে বলবে না।

  • শ্রেণীবিভাগ-থ্রেশহোল্ড ইনভেরিয়েন্স সবসময় কাম্য নয়। যে ক্ষেত্রে মিথ্যা নেতিবাচক বনাম মিথ্যা ইতিবাচক খরচের মধ্যে ব্যাপক বৈষম্য রয়েছে, সেখানে এক ধরনের শ্রেণীবিন্যাস ত্রুটি কমিয়ে আনা গুরুত্বপূর্ণ হতে পারে। উদাহরণস্বরূপ, ইমেল স্প্যাম শনাক্ত করার সময়, আপনি সম্ভবত মিথ্যা ইতিবাচক কমিয়ে আনাকে অগ্রাধিকার দিতে চান (এমনকি যদি এর ফলে মিথ্যা নেতিবাচকের উল্লেখযোগ্য বৃদ্ধি হয়)। এই ধরনের অপ্টিমাইজেশানের জন্য AUC একটি দরকারী মেট্রিক নয়।