ROC Curve এবং AUC: মডেলের পারফরম্যান্স যাচাইয়ের উন্নত পদ্ধতি

📈 ROC Curve এবং AUC: মডেলের পারফরম্যান্স যাচাইয়ের উন্নত পদ্ধতি

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 মন্তব্যসমূহ