Confusion Matrix তৈরি এবং বিশ্লেষণ করা

Caffe2 তে মডেল Evaluation এবং Testing - ক্যাফে২ (Caffe2) - Machine Learning

377

Confusion Matrix একটি টুল যা মডেলটির কার্যকারিতা মূল্যায়ন করতে ব্যবহৃত হয়, বিশেষ করে শ্রেণীবিভাগ (Classification) সমস্যার জন্য। এটি প্রকৃত এবং পূর্বাভাস করা শ্রেণীগুলির তুলনা করে একটি সারণি আকারে উপস্থাপন করে, যা মডেলটির সঠিকতা, ভুল দৃষ্টিভঙ্গি এবং অন্যান্য মেট্রিক্স বিশ্লেষণ করতে সাহায্য করে।

1. Confusion Matrix কী?

Confusion Matrix মূলত একটি 2×22 \times 2 বা n×nn \times n সারণি হিসেবে থাকে, যেখানে:

  • True Positives (TP): মডেলটি সঠিকভাবে পজিটিভ ক্লাস পূর্বাভাস করেছে।
  • True Negatives (TN): মডেলটি সঠিকভাবে নেগেটিভ ক্লাস পূর্বাভাস করেছে।
  • False Positives (FP): মডেলটি ভুলভাবে পজিটিভ ক্লাস পূর্বাভাস করেছে (Type I Error)।
  • False Negatives (FN): মডেলটি ভুলভাবে নেগেটিভ ক্লাস পূর্বাভাস করেছে (Type II Error)।

2. Confusion Matrix এর গঠন:

ধরি, একটি বাইনারি শ্রেণীবিভাগ সমস্যা, যেখানে দুটি ক্লাস: Positive (P) এবং Negative (N):

Predicted Positive (P)Predicted Negative (N)
Actual Positive (P)True Positive (TP)False Negative (FN)
Actual Negative (N)False Positive (FP)True Negative (TN)

3. Confusion Matrix এর মেট্রিক্সগুলি:

Confusion Matrix থেকে আপনি বিভিন্ন মেট্রিক্স বের করতে পারেন, যেমন:

  1. Accuracy: মডেলটির মোট সঠিক পূর্বাভাসের হার।

    Accuracy=TP+TNTP+TN+FP+FNAccuracy = \frac{TP + TN}{TP + TN + FP + FN}

  2. Precision: পজিটিভ ক্লাস পূর্বাভাসের মধ্যে সঠিক পজিটিভের হার।

    Precision=TPTP+FPPrecision = \frac{TP}{TP + FP}

  3. Recall (Sensitivity or True Positive Rate): প্রকৃত পজিটিভ ক্লাসের মধ্যে সঠিক পজিটিভের হার।

    Recall=TPTP+FNRecall = \frac{TP}{TP + FN}

  4. F1-Score: Precision এবং Recall এর ভারসাম্য। এটি Precision এবং Recall এর গড় হার হিসেবে গণনা করা হয়।

    F1=2×Precision×RecallPrecision+RecallF1 = 2 \times \frac{Precision \times Recall}{Precision + Recall}

  5. Specificity (True Negative Rate): প্রকৃত নেগেটিভ ক্লাসের মধ্যে সঠিক নেগেটিভের হার।

    Specificity=TNTN+FPSpecificity = \frac{TN}{TN + FP}

  6. False Positive Rate (FPR): ভুল পজিটিভের হার।

    FPR=FPFP+TNFPR = \frac{FP}{FP + TN}

  7. False Negative Rate (FNR): ভুল নেগেটিভের হার।

    FNR=FNFN+TPFNR = \frac{FN}{FN + TP}

4. Confusion Matrix তৈরি করা

নিচে একটি উদাহরণ দেওয়া হলো যেখানে PyTorch এবং Scikit-learn ব্যবহার করে Confusion Matrix তৈরি এবং বিশ্লেষণ করা হয়েছে।

৪.১. PyTorch ব্যবহার করে Confusion Matrix তৈরি করা:

import torch
import torch.nn as nn
import numpy as np
from sklearn.metrics import confusion_matrix, classification_report
import matplotlib.pyplot as plt
import seaborn as sns

# উদাহরণস্বরূপ, প্রকৃত এবং পূর্বাভাস করা ক্লাস
# Actual labels (True values)
y_true = np.array([0, 1, 0, 1, 0, 1, 1, 0, 1, 0])

# Predicted labels (Model predictions)
y_pred = np.array([0, 1, 0, 1, 0, 0, 1, 0, 1, 1])

# Confusion Matrix তৈরি করা
cm = confusion_matrix(y_true, y_pred)

# Confusion Matrix প্রিন্ট করা
print("Confusion Matrix:\n", cm)

# Classification Report (Precision, Recall, F1-Score)
print("\nClassification Report:\n", classification_report(y_true, y_pred))

# Confusion Matrix Visualize করা
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=["Negative", "Positive"], yticklabels=["Negative", "Positive"])
plt.xlabel('Predicted')
plt.ylabel('True')
plt.title('Confusion Matrix')
plt.show()

৪.২. Confusion Matrix Visualization:

আপনি Seaborn এবং Matplotlib ব্যবহার করে Confusion Matrix এর হিটম্যাপ ভিজ্যুয়ালাইজ করতে পারেন।

5. Confusion Matrix বিশ্লেষণ:

৫.১. Accuracy বিশ্লেষণ:

Accuracy হল মডেলটির সঠিক পূর্বাভাসের মোট হার। কিন্তু এটি শুধুমাত্র তখনই উপকারী যখন ডেটাসেটে পজিটিভ এবং নেগেটিভ ক্লাসের সংখ্যা সমান থাকে। অসমান ডেটাসেটের ক্ষেত্রে এটি বিভ্রান্তিকর হতে পারে।

৫.২. Precision এবং Recall বিশ্লেষণ:

  • Precision ব্যবহার করে আপনি জানতে পারেন, যখন মডেল পজিটিভ ক্লাসের পূর্বাভাস দেয়, তখন এটি কতটা সঠিক।
  • Recall ব্যবহার করে আপনি জানতে পারেন, প্রকৃত পজিটিভ ক্লাসের মধ্যে কতটা সঠিকভাবে শনাক্ত করা হয়েছে।

৫.৩. F1-Score বিশ্লেষণ:

F1-Score হলো Precision এবং Recall এর ভারসাম্য, এবং এটি একটি খুব ভাল মেট্রিক যখন Precision এবং Recall এর মধ্যে কোনও একটিকে প্রাধান্য দেওয়া হয় না। এটি একটি একক মেট্রিক যা মডেলটির সামগ্রিক কার্যকারিতা দেখায়।

৫.৪. Specificity বিশ্লেষণ:

Specificity হল প্রকৃত নেগেটিভ ক্লাসের মধ্যে সঠিক নেগেটিভের হার। এটি একটি গুরুত্বপূর্ণ মেট্রিক যখন আপনি নেগেটিভ কেসগুলো সঠিকভাবে চিহ্নিত করতে চান।

৫.৫. False Positive এবং False Negative বিশ্লেষণ:

  • False Positive: যখন মডেলটি ভুলভাবে পজিটিভ ক্লাস শনাক্ত করে (যেমন, রোগী না হলেও রোগী বলে শনাক্ত করা)।
  • False Negative: যখন মডেলটি ভুলভাবে নেগেটিভ ক্লাস শনাক্ত করে (যেমন, রোগী থাকা সত্ত্বেও মডেল রোগী বলে শনাক্ত করে না)।

6. Confusion Matrix এর সাহায্যে মডেল নির্বাচন:

  • High Precision, Low Recall: যখন ভুল পজিটিভ কম থাকতে হয়, তবে কিছু প্রকৃত পজিটিভ ভুল হতে পারে।
  • High Recall, Low Precision: যখন প্রকৃত পজিটিভ সনাক্ত করার প্রাধান্য দেয়া হয়, তবে কিছু ভুল পজিটিভ থাকতে পারে।

7. সারাংশ:

Confusion Matrix হল শ্রেণীবিভাগ মডেলগুলির কার্যকারিতা মূল্যায়নের একটি গুরুত্বপূর্ণ উপাদান। এটি কেবল সঠিকতা প্রদর্শন না করে, বিভিন্ন গুরুত্বপূর্ণ মেট্রিক্স যেমন Precision, Recall, F1-Score, Specificity এবং False Positive/Negative এর বিশ্লেষণ করতে সাহায্য করে, যা মডেলটির কার্যকারিতা বুঝতে সহায়ক।

Content added By
Promotion

Are you sure to start over?

Loading...