Accuracy, Precision, এবং Recall এর ধারণা

মডেল ইভ্যালুয়েশন (Model Evaluation) - পাইথনে লজিস্টিক রিগ্রেশন (Logistic Regression in Python) - Machine Learning

460

Accuracy, Precision, এবং Recall হলো মেশিন লার্নিং মডেলগুলোর পারফরম্যান্স মূল্যায়ন করার জন্য ব্যবহৃত তিনটি গুরুত্বপূর্ণ পরিমাপ। এগুলি মূলত ক্লাসিফিকেশন মডেলের সঠিকতা নির্ধারণে ব্যবহৃত হয়, যেখানে আউটপুট দুটি বা তার অধিক শ্রেণীতে বিভক্ত থাকে (যেমন: 0 বা 1, স্প্যাম বা নন-স্প্যাম)।

এগুলোর মধ্যে পার্থক্য এবং কীভাবে এগুলি নির্ধারণ করা হয় তা বোঝার জন্য আমরা Confusion Matrix ব্যবহার করি, যা একটি টেবিল যা মডেলের প্রেডিকশন এবং প্রকৃত আউটপুটের মধ্যে সম্পর্ক দেখায়।


1. Confusion Matrix

Confusion Matrix হলো একটি টেবিল যা মডেলের প্রেডিকশন এবং প্রকৃত আউটপুটের মধ্যে সম্পর্ককে স্পষ্টভাবে দেখায়। এটি সাধারণত চারটি ভ্যালু ধারণ করে:

  • True Positive (TP): প্রকৃত ক্লাস 1 এবং মডেল প্রেডিক্ট করেছে 1।
  • True Negative (TN): প্রকৃত ক্লাস 0 এবং মডেল প্রেডিক্ট করেছে 0।
  • False Positive (FP): প্রকৃত ক্লাস 0 কিন্তু মডেল প্রেডিক্ট করেছে 1।
  • False Negative (FN): প্রকৃত ক্লাস 1 কিন্তু মডেল প্রেডিক্ট করেছে 0।

এখন, আমরা Accuracy, Precision, এবং Recall এর ধারণা বুঝতে এই ৪টি ভ্যালু ব্যবহার করি।


2. Accuracy

Accuracy হলো মডেলটির মোট সঠিক প্রেডিকশনের অনুপাত, অর্থাৎ প্রকৃত আউটপুট এবং প্রেডিক্টেড আউটপুটের মধ্যে সঠিক মেলানির শতাংশ।

গাণিতিকভাবে, Accuracy হিসাব করা হয়:

Accuracy=TP+TNTP+TN+FP+FN\text{Accuracy} = \frac{TP + TN}{TP + TN + FP + FN}

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


3. Precision

Precision হলো সেই ভ্যালুর অনুপাত, যেগুলি মডেলটি 1 হিসেবে প্রেডিক্ট করেছে এবং সেগুলি প্রকৃতপক্ষে 1 ছিল।

গাণিতিকভাবে, Precision হিসাব করা হয়:

Precision=TPTP+FP\text{Precision} = \frac{TP}{TP + FP}

Precision মেট্রিকটি বিশেষভাবে গুরুত্বপূর্ণ যখন আপনি False Positive কমাতে চান। উদাহরণস্বরূপ, যদি আপনি স্প্যাম ডিটেকশন মডেল তৈরি করছেন, তাহলে আপনি চান না যে মডেলটি নন-স্প্যাম মেইলগুলোকে স্প্যাম হিসেবে চিহ্নিত করুক, কারণ এটি ব্যবহারকারীদের জন্য বিরক্তিকর হতে পারে।


4. Recall

Recall (বা Sensitivity বা True Positive Rate) হলো সেই ভ্যালুর অনুপাত, যেগুলি প্রকৃতপক্ষে 1 ছিল এবং মডেল সেগুলিকে সঠিকভাবে 1 হিসেবে প্রেডিক্ট করেছে।

গাণিতিকভাবে, Recall হিসাব করা হয়:

Recall=TPTP+FN\text{Recall} = \frac{TP}{TP + FN}

Recall মেট্রিকটি বিশেষভাবে গুরুত্বপূর্ণ যখন আপনি False Negative কমাতে চান। উদাহরণস্বরূপ, যদি আপনি ক্যান্সার শনাক্তকরণ মডেল তৈরি করছেন, তাহলে আপনি চাইবেন মডেলটি যত বেশি সম্ভব ক্যান্সার রোগীকে শনাক্ত করুক, এমনকি কিছু ভুল প্রেডিকশন (False Positives) হলেও।


5. Precision vs Recall: Trade-off

Precision এবং Recall এর মধ্যে একটি trade-off থাকে। একে অপরকে উন্নত করতে চেষ্টা করলে, অন্যটি কমে যেতে পারে।

  • যদি আপনি Precision বাড়ানোর চেষ্টা করেন, তাহলে মডেলটি আরও কঠোর হবে এবং False Positives কমাবে, তবে False Negatives বাড়াতে পারে।
  • যদি আপনি Recall বাড়ানোর চেষ্টা করেন, তাহলে মডেলটি আরও নমনীয় হবে এবং False Negatives কমাতে পারে, তবে False Positives বাড়াতে পারে।

এই trade-off এর কারণে, অনেক সময় F1-Score ব্যবহার করা হয়, যা Precision এবং Recall এর গাণিতিক গড় (harmonic mean)।

F1-Score=2×Precision×RecallPrecision+Recall\text{F1-Score} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}


সারাংশ:

  • Accuracy: সঠিক প্রেডিকশনগুলির অনুপাত, মোট প্রেডিকশনের তুলনায়।
  • Precision: কতগুলো প্রেডিক্টেড পজিটিভ আসলে সঠিক ছিল, এটি মডেলটির False Positive হ্রাস করার ক্ষমতা নির্ধারণ করে।
  • Recall: প্রকৃত পজিটিভের মধ্যে কতগুলো মডেল সঠিকভাবে চিহ্নিত করতে পেরেছে, এটি False Negative হ্রাস করার ক্ষমতা নির্ধারণ করে।

এগুলো হল মেশিন লার্নিং মডেলগুলোর পারফরম্যান্স মূল্যায়ন করার প্রধান পরিমাপ। কখন কোন পরিমাপটি ব্যবহৃত হবে তা নির্ভর করে সমস্যা এবং আপনার লক্ষ্য অনুসারে।

Content added By
Promotion

Are you sure to start over?

Loading...