Accuracy খুব intuitive metric।

Formula:

$$\text{ Accuracy } = \frac{\text{Correct Predictions}}{\text{ Total Predictions}}$$

কিন্তু সব classification problem-এ Accuracy useful নয়।

বিশেষ করে class distribution highly imbalanced হলে এটি misleading হতে পারে।

Example

ধরুন fraud detection dataset:

Normal = 99%
Fraud  = 1%

আমাদের model একটা খুব simple rule ব্যবহার করল:

Always predict Normal

তাহলে 100টি transaction-এর মধ্যে:

99 Normal → Correct
1 Fraud   → Wrong

Accuracy:

99%

শুনতে excellent।

কিন্তু:

Detected Fraud = 0

অর্থাৎ business perspective থেকে model practically useless।

Accuracy কখন ভালো?

Accuracy বেশি useful যখন:

  • classes roughly balanced

  • false positive এবং false negative-এর cost similar

  • simple class prediction performance দরকার

ROC Curve

ROC-এর full form:

Receiver Operating Characteristic

ROC curve বিভিন্ন classification threshold-এর জন্য compare করে:

True Positive Rate
vs
False Positive Rate

True Positive Rate

এটাকেই Recall বা Sensitivity বলা হয়।

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

মানে:

Actual positive cases-এর কত percentage model detect করেছে?

False Positive Rate

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

মানে:

Actual negative cases-এর কত percentage ভুলভাবে positive predict হয়েছে?

ROC-AUC

ROC curve-এর নিচের area হলো:

ROC-AUC

এটি model-এর ranking ability measure করে।

একটি useful interpretation:

একটি random positive এবং একটি random negative sample দিলে model positive sample-কে higher score দেওয়ার probability কত।

Interpretation

AUC = 0.5
→ Random ranking

AUC ≈ 0.7
→ Some separation ability

AUC ≈ 0.9
→ Strong ranking ability

AUC = 1.0
→ Perfect ranking

তবে fixed universal threshold দিয়ে:

0.8 = good
0.9 = excellent

বলা উচিত নয়।

Acceptable AUC problem এবং business context-এর উপর depend করে।

AUC Threshold-independent

Accuracy একটি specific decision threshold-এর result।

ধরুন:

Threshold = 0.5

কিন্তু AUC বিভিন্ন thresholds-এর ranking behavior summarize করে।

এ কারণে model comparison-এর জন্য useful।

Highly Imbalanced Data এবং PR-AUC

Extremely imbalanced dataset-এ ROC-AUC কখনো overly optimistic দেখাতে পারে।

Fraud example:

Normal = 99.9%
Fraud  = 0.1%

এখানে positive minority class-এর performance বেশি important।

তখন:

Precision-Recall Curve

এবং:

PR-AUC

অনেক সময় বেশি informative।

Precision

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

প্রশ্ন:

Model যেগুলো positive বলেছে, তার মধ্যে আসলে কতগুলো positive?

Recall

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

প্রশ্ন:

Actual positive cases-এর মধ্যে model কতগুলো ধরতে পেরেছে?

Accuracy vs ROC-AUC vs PR-AUC

Accuracy
→ Final class prediction কতটা correct?

ROC-AUC
→ Positive এবং negative কত ভালো rank/separate করে?

PR-AUC
→ Positive minority class-এর precision-recall trade-off কেমন?

Interview-ready Explanation

Accuracy measures the fraction of correct predictions,
but it can be misleading for highly imbalanced datasets.

For example, if only 1% of transactions are fraudulent,
a model that predicts every transaction as normal can
still achieve 99% accuracy.

ROC-AUC measures the model's ability to rank positive
examples above negative examples across different thresholds.

For highly imbalanced problems, PR-AUC is often more
informative because it focuses on precision and recall
for the positive class.