Cluster Visualization এবং Model Evaluation

K-Means Clustering - পাইথন দিয়ে মেশিন লার্নিং (Machine Learning with Python) - Machine Learning

330

Cluster Visualization

ক্লাস্টার ভিজ্যুয়ালাইজেশন হল ডেটার গ্রুপ বা ক্লাস্টারগুলিকে ভিজ্যুয়ালি প্রদর্শন করার প্রক্রিয়া। এটি ডেটার মধ্যে সম্পর্ক এবং বিভাজন (separation) সহজে বোঝার জন্য গুরুত্বপূর্ণ, বিশেষত যখন আপনি আনসুপারভাইজড লার্নিং মেথড (যেমন K-Means Clustering) ব্যবহার করছেন। এটি মডেলের ফলাফল এবং ডেটার গঠন বিশ্লেষণ করতে সাহায্য করে।

K-Means Clustering ভিজ্যুয়ালাইজেশন উদাহরণ:

এখানে K-Means ক্লাস্টারিং ব্যবহার করে ক্লাস্টার ভিজ্যুয়ালাইজেশন কিভাবে করা যায় তা দেখানো হলো:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs

# ডেটাসেট তৈরি করা (২ ডাইমেনশনাল ডেটা)
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)

# KMeans ক্লাস্টারিং মডেল তৈরি
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)

# ক্লাস্টার সেন্টার
centers = kmeans.cluster_centers_

# ক্লাস্টার এশাইনমেন্ট (কোন পয়েন্ট কোন ক্লাস্টারে আছে)
y_kmeans = kmeans.predict(X)

# ডেটা পয়েন্ট এবং ক্লাস্টার সেন্টার প্লট করা
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.5)
plt.title('K-Means Clustering')
plt.show()

এটি ক্লাস্টারিংয়ের ফলাফলকে ভিজ্যুয়ালি প্রদর্শন করবে, যেখানে ক্লাস্টারের প্রতিটি পয়েন্ট একটি ভিন্ন রঙে দেখানো হবে এবং ক্লাস্টারের কেন্দ্রকে লাল দিয়ে চিহ্নিত করা হবে।

Model Evaluation

মডেল মূল্যায়ন (Model Evaluation) মেশিন লার্নিং মডেলের কার্যকারিতা পরিমাপের প্রক্রিয়া। এটি আমাদের জানায় যে মডেলটি প্রশিক্ষণ এবং টেস্ট ডেটার ওপর কতটা সফলভাবে কাজ করছে। মডেল মূল্যায়নের জন্য বিভিন্ন মেট্রিক্স এবং টুলস ব্যবহার করা হয়, যা মডেলের গুণগতমান পরীক্ষা করতে সহায়ক।

Model Evaluation মেট্রিক্স:

  1. Accuracy:
    • এটি সবচেয়ে সাধারণ মেট্রিক, যা সঠিক পূর্বানুমানিত আউটপুটের অনুপাত হিসাব করে।
    • গাণিতিক রূপ: Accuracy=TruePositives+TrueNegativesTotalPredictionsAccuracy = \frac{True Positives + True Negatives}{Total Predictions}
  2. Precision:
    • এটি মডেল কতটা সঠিকভাবে পজিটিভ ক্লাস (যেমন, স্প্যাম ইমেইল) সনাক্ত করছে তা দেখায়।
    • গাণিতিক রূপ: Precision=TruePositivesTruePositives+FalsePositivesPrecision = \frac{True Positives}{True Positives + False Positives}
  3. Recall:
    • এটি মডেল কতটা সঠিকভাবে পজিটিভ ক্লাস সনাক্ত করছে, বিশেষ করে যখন ফালস পজিটিভ সংখ্যা কমিয়ে আনা উচিত।
    • গাণিতিক রূপ: Recall=TruePositivesTruePositives+FalseNegativesRecall = \frac{True Positives}{True Positives + False Negatives}
  4. F1-Score:
    • এটি Precision এবং Recall এর ভারসাম্যপূর্ণ পরিমাপ। যখন Precision এবং Recall এর মধ্যে একটি পরিবর্তন বেশি হতে পারে, তখন F1-Score গুরুত্বপূর্ণ হয়ে ওঠে।
    • গাণিতিক রূপ: F1Score=2×Precision×RecallPrecision+RecallF1-Score = 2 \times \frac{Precision \times Recall}{Precision + Recall}
  5. Confusion Matrix:
    • এটি সঠিক এবং ভুল শ্রেণীভুক্তকরণের একটি টেবিল, যেখানে True Positives (TP), False Positives (FP), True Negatives (TN) এবং False Negatives (FN) দেখানো হয়।
from sklearn.metrics import confusion_matrix
import seaborn as sns
import matplotlib.pyplot as plt

# Confusion Matrix তৈরি করা
y_pred = model.predict(X_test)
cm = confusion_matrix(y_test, y_pred)

# Heatmap ব্যবহার করে কনফিউশন ম্যাট্রিক্স ভিজ্যুয়ালাইজ করা
sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=model.classes_, yticklabels=model.classes_)
plt.xlabel('Predicted')
plt.ylabel('True')
plt.show()
  1. ROC Curve (Receiver Operating Characteristic Curve):
    • এটি একটি গ্রাফিক্যাল রিপ্রেজেন্টেশন যা মডেলের পারফরম্যান্স পরিমাপ করতে ব্যবহৃত হয়। ROC কিউভটি ফালস পজিটিভ রেট (FPR) এবং প্রকৃত পজিটিভ রেট (TPR) এর মধ্যে সম্পর্ক দেখায়।
    • AUC (Area Under the Curve) হল ROC কিউভের নিচের এলাকার পরিমাণ, যা মডেলের সঠিকতার পরিমাপ।
from sklearn.metrics import roc_curve, auc

# False Positive Rate এবং True Positive Rate হিসাব করা
fpr, tpr, thresholds = roc_curve(y_test, y_prob)
roc_auc = auc(fpr, tpr)

# ROC Curve প্লট করা
plt.figure()
plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()

সারাংশ

  • Cluster Visualization: এটি ডেটার মধ্যে সম্পর্ক এবং বিভাজন (separation) বুঝতে সাহায্য করে। K-Means ক্লাস্টারিং মডেলের ভিজ্যুয়ালাইজেশন এর মাধ্যমে ক্লাস্টারগুলো আলাদা এবং তাদের কেন্দ্র বুঝতে সহায়তা করা যায়।
  • Model Evaluation: মডেল মূল্যায়ন বিভিন্ন মেট্রিক্স (Accuracy, Precision, Recall, F1-Score, Confusion Matrix) ব্যবহার করে মডেলের কার্যকারিতা পরিমাপ করা হয়। এটি মডেলের সঠিকতা, ভুল সিদ্ধান্ত এবং সামগ্রিক কার্যকারিতা পরীক্ষা করতে সাহায্য করে। ROC Curve এবং AUC ব্যবহার করা হয় মডেলের পারফরম্যান্স আরও গভীরভাবে বিশ্লেষণ করার জন্য।

এই ধাপগুলির মাধ্যমে আপনি একটি মডেল তৈরি করতে পারেন, যা ডেটার মধ্যে সম্পর্ক বুঝতে পারে এবং সঠিকভাবে পূর্বানুমান করতে সক্ষম হয়।

Content added By
Promotion

Are you sure to start over?

Loading...