Confusion Matrix শেখার পর আমরা আজ শিখবো আরও একটি শক্তিশালী মেট্রিক: ROC Curve এবং AUC।
📊 ROC Curve কী?
ROC (Receiver Operating Characteristic) Curve হলো একটি গ্রাফ যেটি মডেলের True Positive Rate (Recall) বনাম False Positive Rate প্লট করে।
X-axis: False Positive Rate (FPR) = FP / (FP + TN)
Y-axis: True Positive Rate (TPR) = TP / (TP + FN)
🎯 AUC (Area Under Curve)
AUC হলো ROC Curve এর নিচের ক্ষেত্রফল। এটি 0 থেকে 1 এর মধ্যে একটি মান হয়। যত AUC বেশি, তত ভালো মডেল:
- 🟢 AUC = 1.0 → পারফেক্ট ক্লাসিফায়ার
- 🟡 AUC = 0.5 → র্যান্ডম গেসিং
- 🔴 AUC < 0.5 → বাজে মডেল
🧪 Python কোড উদাহরণ:
from sklearn.metrics import roc_curve, roc_auc_score
import matplotlib.pyplot as plt
# আসল ও ভবিষ্যদ্বাণী করা লেবেল
y_true = [0, 0, 1, 1]
y_scores = [0.1, 0.4, 0.35, 0.8] # predicted probabilities
# ROC ক্যালকুলেশন
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
# AUC স্কোর
auc_score = roc_auc_score(y_true, y_scores)
print(f"AUC: {auc_score:.2f}")
# ROC গ্রাফ আঁকা
plt.plot(fpr, tpr, marker='.', label='ROC Curve')
plt.plot([0, 1], [0, 1], linestyle='--', label='Random Guess')
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('ROC Curve')
plt.legend()
plt.grid(True)
plt.show()
📌 কখন ROC-AUC ব্যবহার করবেন?
- Class imbalance আছে (যেমন: Fraud Detection)
- Precision/Recall ছাড়া
✍️ লেখক পরিচিতি
Amanul Islam বর্তমানে University of Colorado at Colorado Springs-এ PhD in Security করছেন। তিনি AI এবং সাইবার নিরাপত্তা নিয়ে গবেষণা করছেন। তার উদ্যোগে এই ব্লগ সিরিজটি তৈরি হয়েছে যেন বাংলা ভাষায় মেশিন লার্নিং শেখা সহজ হয়।

0 মন্তব্যসমূহ