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.