Confusion Matrix, Precision, Recall, এবং F1-Score মেশিন লার্নিং মডেলগুলির কার্যকারিতা (performance) মূল্যায়ন করতে ব্যবহৃত হয়। বিশেষ করে classification মডেলের ক্ষেত্রে, এই টুলগুলি মডেলের যথার্থতা, ভুল অনুমান এবং ভারসাম্য বিশ্লেষণে সাহায্য করে।
১. Confusion Matrix
Confusion Matrix একটি টেবিল আকারে প্রদর্শিত হয়, যা মডেলের পূর্বানুমানিত (predicted) এবং প্রকৃত (actual) শ্রেণী (class) বা আউটপুটের মধ্যে তুলনা করে। এটি মডেলের কার্যকারিতা বিশ্লেষণ করতে ব্যবহৃত হয়।
Confusion Matrix এর গঠন:
Confusion Matrix সাধারণত ৪টি অংশে বিভক্ত হয়:
- True Positives (TP): সেগুলি যা সঠিকভাবে positive class হিসেবে পূর্বানুমানিত হয়েছিল।
- True Negatives (TN): সেগুলি যা সঠিকভাবে negative class হিসেবে পূর্বানুমানিত হয়েছিল।
- False Positives (FP): সেগুলি যা ভুলভাবে positive class হিসেবে পূর্বানুমানিত হয়েছিল (Type I Error)।
- False Negatives (FN): সেগুলি যা ভুলভাবে negative class হিসেবে পূর্বানুমানিত হয়েছিল (Type II Error)।
Confusion Matrix উদাহরণ:
ধরা যাক, একটি মডেল একটি ডেটাসেটের উপর কাজ করছে যেখানে দুটি শ্রেণী positive এবং negative রয়েছে।
| Predicted Positive | Predicted Negative | |
|---|---|---|
| Actual Positive | TP (True Positive) | FN (False Negative) |
| Actual Negative | FP (False Positive) | TN (True Negative) |
Python উদাহরণ:
from sklearn.metrics import confusion_matrix
import numpy as np
# প্রকৃত (Actual) এবং পূর্বানুমানিত (Predicted) লেবেল
y_true = np.array([1, 0, 1, 1, 0, 1, 0, 1, 0, 0])
y_pred = np.array([1, 0, 0, 1, 0, 1, 0, 0, 1, 0])
# কনফিউশন ম্যাট্রিক্স তৈরি করা
cm = confusion_matrix(y_true, y_pred)
print(cm)
২. Precision
Precision হল সঠিকভাবে পূর্বানুমানিত পজিটিভ আউটপুটগুলির (True Positives) হার, যা ভুল পজিটিভ আউটপুট (False Positives) বাদ দিয়ে বের করা হয়।
Precision ফর্মুলা:
এটি নির্দেশ করে মডেল কতটা সঠিকভাবে পজিটিভ শ্রেণী শনাক্ত করছে।
Python উদাহরণ:
from sklearn.metrics import precision_score
# Precision গণনা
precision = precision_score(y_true, y_pred)
print("Precision:", precision)
৩. Recall
Recall (বা Sensitivity বা True Positive Rate) হল সঠিকভাবে পূর্বানুমানিত পজিটিভ আউটপুটগুলির হার, যা প্রকৃত পজিটিভ (True Positives) এর মধ্যে বিভক্ত।
Recall ফর্মুলা:
এটি নির্দেশ করে মডেল কতটা সঠিকভাবে প্রকৃত পজিটিভ শ্রেণী শনাক্ত করছে।
Python উদাহরণ:
from sklearn.metrics import recall_score
# Recall গণনা
recall = recall_score(y_true, y_pred)
print("Recall:", recall)
৪. F1-Score
F1-Score হল Precision এবং Recall এর মধ্যকার ভারসাম্য। এটি Precision এবং Recall এর হারমনিক গড় (harmonic mean) হিসাব করে এবং মডেলের পারফরম্যান্সের একটি সামগ্রিক মূল্যায়ন প্রদান করে।
F1-Score ফর্মুলা:
এটি Precision এবং Recall এর মধ্যে একটি ভারসাম্য তৈরি করে, বিশেষ করে যখন কেবল Precision বা Recall ব্যবহার করা সম্ভব না।
Python উদাহরণ:
from sklearn.metrics import f1_score
# F1-Score গণনা
f1 = f1_score(y_true, y_pred)
print("F1-Score:", f1)
Confusion Matrix, Precision, Recall, এবং F1-Score এর মধ্যে পার্থক্য:
| মেট্রিক | বর্ণনা | ব্যবহার |
|---|---|---|
| Confusion Matrix | প্রকৃত এবং পূর্বানুমানিত আউটপুটের মধ্যে সম্পর্ক প্রদর্শন করে (TP, TN, FP, FN)। | মডেলের ভুল এবং সঠিক পূর্বানুমান বোঝাতে ব্যবহৃত হয়। |
| Precision | সঠিকভাবে পূর্বানুমানিত পজিটিভ আউটপুটের শতাংশ। (False Positive কমানোর জন্য) | মডেল পজিটিভ কেস সঠিকভাবে চিহ্নিত করছে তা জানতে ব্যবহৃত হয়। |
| Recall | প্রকৃত পজিটিভ আউটপুটের মধ্যে সঠিকভাবে পূর্বানুমানিত পজিটিভ আউটপুটের শতাংশ। (False Negative কমানোর জন্য) | মডেল আসল পজিটিভ কেস চিহ্নিত করতে সক্ষম কিনা তা জানতে ব্যবহৃত হয়। |
| F1-Score | Precision এবং Recall এর মধ্যে ভারসাম্য বজায় রেখে মডেলের সামগ্রিক কার্যকারিতা মূল্যায়ন করে। | Precision এবং Recall এর মধ্যে একটি ভারসাম্য তৈরি করতে ব্যবহৃত হয়। |
সারাংশ:
- Confusion Matrix: মডেলের পূর্বানুমান এবং প্রকৃত আউটপুটের মধ্যে সম্পর্কের বিশ্লেষণ।
- Precision: মডেল কতটা সঠিকভাবে পজিটিভ কেস শনাক্ত করেছে।
- Recall: মডেল কতটা সঠিকভাবে প্রকৃত পজিটিভ কেস শনাক্ত করেছে।
- F1-Score: Precision এবং Recall এর ভারসাম্য প্রদান করে, বিশেষত যখন দুটি মেট্রিকের মধ্যে ভারসাম্য রাখা প্রয়োজন।
এই মেট্রিকগুলি মডেলের পারফরম্যান্স মূল্যায়নে সহায়ক, বিশেষ করে যখন আপনি ভুল অনুমান (False Positives এবং False Negatives) সম্পর্কে গভীরভাবে বিশ্লেষণ করতে চান।
Read more