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

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

রিসিভার-অপারেটিং চরিত্রগত বক্ররেখা (ROC)

ROC বক্ররেখা হল সমস্ত থ্রেশহোল্ড জুড়ে মডেল পারফরম্যান্সের একটি চাক্ষুষ উপস্থাপনা। নামের দীর্ঘ সংস্করণ, রিসিভার অপারেটিং বৈশিষ্ট্য, WWII রাডার সনাক্তকরণ থেকে একটি হোল্ডওভার।

প্রতিটি সম্ভাব্য থ্রেশহোল্ডে (অভ্যাসে, নির্বাচিত বিরতিতে) সত্য পজিটিভ রেট (টিপিআর) এবং ফলস পজিটিভ রেট (এফপিআর) গণনা করে, তারপর এফপিআর-এর উপর টিপিআর গ্রাফ করে ROC বক্ররেখা আঁকা হয়। একটি নিখুঁত মডেল, যার কিছু থ্রেশহোল্ডে 1.0 এর TPR এবং 0.0 এর FPR থাকে, যদি অন্য সমস্ত থ্রেশহোল্ড উপেক্ষা করা হয়, বা নিম্নলিখিতগুলি দ্বারা হয় (0, 1) বিন্দু দ্বারা প্রতিনিধিত্ব করা যেতে পারে:

চিত্র 1. FPR (x-অক্ষ) এর বিপরীতে TPR (y-অক্ষ) এর একটি গ্রাফ একটি নিখুঁত মডেলের কার্যকারিতা দেখাচ্ছে: (0,1) থেকে (1,1) একটি লাইন।
চিত্র 1. একটি অনুমানমূলক নিখুঁত মডেলের ROC এবং AUC।

বক্ররেখার অধীনে এলাকা (AUC)

ROC বক্ররেখার (AUC) অধীনে এলাকাটি সম্ভাব্যতার প্রতিনিধিত্ব করে যে মডেলটিকে, যদি এলোমেলোভাবে নির্বাচিত ইতিবাচক এবং নেতিবাচক উদাহরণ দেওয়া হয়, তাহলে ধনাত্মককে নেতিবাচকের চেয়ে উচ্চতর স্থান দেবে।

উপরের নিখুঁত মডেল, দৈর্ঘ্য 1 এর বাহু সহ একটি বর্গক্ষেত্র রয়েছে, এর বক্ররেখার (AUC) ক্ষেত্রফল 1.0 রয়েছে। এর মানে হল 100% সম্ভাবনা রয়েছে যে মডেলটি এলোমেলোভাবে নির্বাচিত একটি নেতিবাচক উদাহরণের চেয়ে এলোমেলোভাবে নির্বাচিত একটি ইতিবাচক উদাহরণকে সঠিকভাবে স্থান দেবে৷ অন্য কথায়, নীচের ডেটা পয়েন্টের বিস্তারের দিকে তাকালে, AUC সম্ভাব্যতা দেয় যে মডেলটি এলোমেলোভাবে নির্বাচিত বৃত্তের ডানদিকে একটি এলোমেলোভাবে নির্বাচিত বর্গক্ষেত্র স্থাপন করবে, যেখানে থ্রেশহোল্ড সেট করা হয়েছে তার থেকে স্বাধীন।

স্লাইডার ছাড়া উইজেট ডেটা লাইন

আরও সুনির্দিষ্ট ভাষায়, 1.0 এর AUC সহ একটি স্প্যাম শ্রেণিবদ্ধকারী সর্বদা একটি র্যান্ডম স্প্যাম ইমেলকে একটি র্যান্ডম বৈধ ইমেলের চেয়ে স্প্যাম হওয়ার সম্ভাবনা বেশি করে। প্রতিটি ইমেলের প্রকৃত শ্রেণীবিভাগ আপনার চয়ন করা প্রান্তিকের উপর নির্ভর করে।

একটি বাইনারি ক্লাসিফায়ারের জন্য, একটি মডেল যা ঠিক একইভাবে এলোমেলো অনুমান বা মুদ্রা উল্টে দেয় তার একটি ROC থাকে যা (0,0) থেকে (1,1) পর্যন্ত একটি তির্যক রেখা। AUC হল 0.5, সঠিকভাবে একটি র‍্যান্ডম ইতিবাচক এবং নেতিবাচক উদাহরণের 50% সম্ভাবনার প্রতিনিধিত্ব করে।

স্প্যাম ক্লাসিফায়ার উদাহরণে, 0.5 এর AUC সহ একটি স্প্যাম শ্রেণীবদ্ধকারী একটি র্যান্ডম স্প্যাম ইমেলকে শুধুমাত্র অর্ধেক সময় একটি র্যান্ডম বৈধ ইমেলের চেয়ে স্প্যাম হওয়ার সম্ভাবনা বেশি দেয়৷

চিত্র 2. FPR (x-অক্ষ) এর বিপরীতে TPR (y-অক্ষ) এর একটি গ্রাফ একটি এলোমেলো 50-50 অনুমানকারীর কর্মক্ষমতা দেখাচ্ছে: (0,0) থেকে (1,1) একটি তির্যক রেখা।
চিত্র 2. সম্পূর্ণ এলোমেলো অনুমানের ROC এবং AUC।

(ঐচ্ছিক, উন্নত) যথার্থ-রিকল বক্ররেখা

AUC এবং ROC মডেলের তুলনা করার জন্য ভাল কাজ করে যখন ডেটাসেটটি ক্লাসের মধ্যে মোটামুটিভাবে ভারসাম্যপূর্ণ হয়। যখন ডেটাসেটটি ভারসাম্যহীন হয়, তখন যথার্থ-রিকল কার্ভস (PRCs) এবং সেই বক্ররেখার অধীনে থাকা এলাকাটি মডেল পারফরম্যান্সের একটি ভাল তুলনামূলক ভিজ্যুয়ালাইজেশন অফার করতে পারে। y-অক্ষে নির্ভুলতা প্লট করে এবং সমস্ত থ্রেশহোল্ড জুড়ে x-অক্ষে প্রত্যাহার করে যথার্থ-রিকল বক্ররেখা তৈরি করা হয়।

(0,1) থেকে (1,0) নিম্নগামী উত্তল বক্ররেখা সহ যথার্থ-রিকল বক্ররেখার উদাহরণ

মডেল এবং থ্রেশহোল্ড নির্বাচন করার জন্য AUC এবং ROC

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

চিত্র 3.a. AUC=0.65 সহ একটি মডেলের ROC/AUC গ্রাফ।চিত্র 3.b. AUC=0.93 সহ একটি মডেলের ROC/AUC গ্রাফ।
চিত্র 3. দুটি অনুমানমূলক মডেলের ROC এবং AUC। ডানদিকের বক্ররেখা, একটি বৃহত্তর AUC সহ, দুটি মডেলের মধ্যে আরও ভাল প্রতিনিধিত্ব করে৷

(0,1) এর সবচেয়ে কাছের একটি ROC বক্ররেখার পয়েন্টগুলি প্রদত্ত মডেলের জন্য সেরা-পারফর্মিং থ্রেশহোল্ডগুলির একটি পরিসীমা উপস্থাপন করে। যেমন থ্রেশহোল্ড , কনফিউশন ম্যাট্রিক্স এবং চয়েস অফ মেট্রিক এবং ট্রেডঅফ বিভাগগুলিতে আলোচনা করা হয়েছে, আপনি যে থ্রেশহোল্ডটি চয়ন করেন তা নির্ভর করে নির্দিষ্ট ব্যবহারের ক্ষেত্রে কোন মেট্রিকটি সবচেয়ে গুরুত্বপূর্ণ তার উপর। নিম্নলিখিত চিত্রে A, B এবং C বিন্দুগুলি বিবেচনা করুন, প্রতিটি একটি প্রান্তিক প্রতিনিধিত্ব করে:

চিত্র 4. AUC=0.84 এর একটি ROC বক্ররেখা A, B, C ক্রমানুসারে (0,1) লেবেলযুক্ত বক্ররেখার সবচেয়ে কাছের উত্তল অংশে তিনটি বিন্দু দেখাচ্ছে।
চিত্র 4. থ্রেশহোল্ডের প্রতিনিধিত্বকারী তিনটি লেবেলযুক্ত পয়েন্ট।

যদি মিথ্যা ইতিবাচক (মিথ্যা অ্যালার্ম) অত্যন্ত ব্যয়বহুল হয়, তাহলে একটি থ্রেশহোল্ড বেছে নেওয়ার অর্থ হতে পারে যা একটি নিম্ন এফপিআর দেয়, যেমন A বিন্দুতে একটি, এমনকি যদি TPR হ্রাস করা হয়। বিপরীতভাবে, যদি মিথ্যা ইতিবাচক সস্তা এবং মিথ্যা নেতিবাচক (সত্য ইতিবাচক মিস) অত্যন্ত ব্যয়বহুল হয়, তাহলে পয়েন্ট C-এর থ্রেশহোল্ড, যা TPR সর্বাধিক করে, অগ্রাধিকারযোগ্য হতে পারে। খরচ মোটামুটি সমতুল্য হলে, পয়েন্ট B টিপিআর এবং এফপিআর-এর মধ্যে সর্বোত্তম ব্যালেন্স দিতে পারে।

আমরা আগে যে ডেটা দেখেছি তার জন্য এখানে ROC বক্ররেখা রয়েছে:

অনুশীলন: আপনার বোঝার পরীক্ষা করুন

অনুশীলনে, ROC বক্ররেখাগুলি উপরে দেওয়া চিত্রগুলির তুলনায় অনেক কম নিয়মিত। নিম্নলিখিত মডেলগুলির মধ্যে কোনটি, তাদের ROC বক্ররেখা এবং AUC দ্বারা উপস্থাপিত, সর্বোত্তম কর্মক্ষমতা রয়েছে?
ROC বক্ররেখা যা উপরের দিকে এবং তারপর ডানদিকে (0,0) থেকে (1,1) পর্যন্ত চাপ দেয়। বক্ররেখার AUC 0.77 আছে।
এই মডেলের সর্বোচ্চ AUC রয়েছে, যা সেরা পারফরম্যান্সের সাথে মিলে যায়।
ROC বক্ররেখা যা প্রায় একটি সরল রেখা (0,0) থেকে (1,1), কয়েকটি জিগ-জ্যাগ সহ। বক্ররেখার AUC 0.508 আছে।
ROC বক্ররেখা যা (0,0) থেকে (1,1) পর্যন্ত উপরে এবং ডানদিকে জিগ-জ্যাগ করে।            বক্ররেখার AUC 0.623 আছে।
ROC বক্ররেখা যা ডানদিকে এবং তারপর (0,0) থেকে (1,1) পর্যন্ত ঊর্ধ্বমুখী হয়। বক্ররেখার AUC 0.31 আছে।
নিম্নলিখিত মডেলগুলির মধ্যে কোনটি সুযোগের চেয়ে খারাপ কাজ করে?
ROC বক্ররেখা যা ডানদিকে এবং তারপর (0,0) থেকে (1,1) পর্যন্ত ঊর্ধ্বমুখী হয়। বক্ররেখার AUC 0.32 আছে।
এই মডেলটির একটি AUC 0.5 এর চেয়ে কম, যার মানে এটি সুযোগের চেয়ে খারাপ কাজ করে৷
ROC বক্ররেখা যা প্রায় একটি সরল রেখা (0,0) থেকে (1,1), কয়েকটি জিগ-জ্যাগ সহ। বক্ররেখার AUC 0.508 আছে।
এই মডেলটি সুযোগের চেয়ে কিছুটা ভালো পারফর্ম করে।
ROC বক্ররেখা যা (0,0) থেকে (1,1) পর্যন্ত একটি তির্যক সরলরেখা। বক্ররেখার AUC 0.5 আছে।
এই মডেল সুযোগ হিসাবে একই সঞ্চালন.
ROC বক্ররেখা যা দুটি লম্ব রেখার সমন্বয়ে গঠিত: একটি উল্লম্ব রেখা (0,0) থেকে (0,1) এবং একটি অনুভূমিক রেখা (0,1) থেকে (1,1)।       এই বক্ররেখার AUC 1.0 আছে।
এটি একটি কাল্পনিক নিখুঁত শ্রেণিবিন্যাসকারী।

(ঐচ্ছিক, উন্নত) বোনাস প্রশ্ন

নিম্নলিখিত কোন পরিবর্তনগুলি পূর্ববর্তী প্রশ্নে সুযোগের চেয়ে খারাপ মডেলে করা যেতে পারে যাতে এটি সুযোগের চেয়ে ভাল কার্য সম্পাদন করতে পারে?
ভবিষ্যদ্বাণীগুলি বিপরীত করুন, তাই 1- এর ভবিষ্যদ্বাণীগুলি 0 হয়ে যায় এবং 0- এর পূর্বাভাসগুলি 1 হয়ে যায়।
যদি একটি বাইনারি ক্লাসিফায়ার নির্ভরযোগ্যভাবে ভুল ক্লাসে সুযোগের চেয়ে বেশি বার উদাহরণ রাখে, তাহলে ক্লাস লেবেলটি অবিলম্বে স্যুইচ করা মডেলটিকে পুনরায় প্রশিক্ষণ না দিয়েই তার ভবিষ্যদ্বাণীগুলিকে সুযোগের চেয়ে ভাল করে তোলে।
এটা সবসময় নেতিবাচক শ্রেণীর ভবিষ্যদ্বাণী করুন.
এটি সুযোগের উপরে কর্মক্ষমতা উন্নত করতে পারে বা নাও করতে পারে। এছাড়াও, যথার্থতা বিভাগে আলোচনা করা হয়েছে, এটি একটি দরকারী মডেল নয়।
এটি সর্বদা ইতিবাচক শ্রেণীর ভবিষ্যদ্বাণী করুন।
এটি সুযোগের উপরে কর্মক্ষমতা উন্নত করতে পারে বা নাও করতে পারে। এছাড়াও, যথার্থতা বিভাগে আলোচনা করা হয়েছে, এটি একটি দরকারী মডেল নয়।

একটি পরিস্থিতি কল্পনা করুন যেখানে স্প্যাম ফোল্ডারে একটি ব্যবসা-সমালোচনামূলক ইমেল পাঠানোর চেয়ে কিছু স্প্যাম ইনবক্সে পৌঁছানোর অনুমতি দেওয়া ভাল৷ আপনি এই পরিস্থিতির জন্য একটি স্প্যাম শ্রেণিবদ্ধকারীকে প্রশিক্ষণ দিয়েছেন যেখানে ইতিবাচক শ্রেণিটি স্প্যাম এবং নেতিবাচক শ্রেণিটি স্প্যাম নয়৷ আপনার শ্রেণীবিভাগের জন্য ROC বক্ররেখার নিচের কোন পয়েন্টটি পছন্দনীয়?

AUC=0.84 এর একটি ROC বক্ররেখা (0,1) এর কাছাকাছি বক্ররেখার উত্তল অংশে তিনটি বিন্দু দেখায়। পয়েন্ট A প্রায় (0.25, 0.75)। বিন্দু বিন্দু আনুমানিক (0.30, 0.90) এবং এটি সেই বিন্দু যেটি FPR কমানোর সময় TPR সর্বাধিক করে। পয়েন্ট C প্রায় (0.4, 0.95)।
বিন্দু A
এই ব্যবহারের ক্ষেত্রে, মিথ্যা ইতিবাচকগুলি কমিয়ে আনা ভাল, এমনকি যদি সত্যিকারের ইতিবাচকগুলিও হ্রাস পায়।
বিন্দু বি
এই থ্রেশহোল্ড সত্য এবং মিথ্যা ইতিবাচক ভারসাম্য.
পয়েন্ট সি
এই থ্রেশহোল্ডটি আরও মিথ্যা ইতিবাচক (স্প্যাম হিসাবে ফ্ল্যাগ করা আরও বৈধ ইমেল) খরচ করে সত্য ইতিবাচক (আরও স্প্যাম ফ্ল্যাগ) সর্বাধিক করে।