Home › Lectures › Machine Learning

📏 মডেল মূল্যায়ন ও টিউনিং · Model Evaluation

মডেল কতটা ভালো তা সঠিকভাবে মাপা।

Measuring honestly how good a model is.

📅 ৩. মেশিন লার্নিং⏳ ~2 সপ্তাহ📘 6 টপিক🧩 18 সাব-টপিক🎬 0 ভিডিও💻 রানযোগ্য কোড

🎯 যা শিখবেন / Outcomes

Pick metrics, tune hyperparameters, explain predictions

🧰 টুলস / Tools

scikit-learn, SHAP

🏁 প্রজেক্ট / Capstone

Model comparison report with SHAP

📌 পূর্বশর্ত / Prerequisites

🎯 Supervised Learning

📅

সাপ্তাহিক পরিকল্পনা · Weekly plan

~২ ঘণ্টা/দিন ধরে
1

Confusion Matrix

Table of right and wrong predictions.
Beginner
📘 বাংলা: সঠিক ও ভুল পূর্বাভাসের ছক।
🌐 English: Table of right and wrong predictions.

💡 মডেল কোথায় ভুল করছে—কোন ধরনের ভুল বেশি—তা দেখায়।

  1. 1
    চার ঘর: TP (সঠিক পজিটিভ), TN, FP (ভুল অ্যালার্ম), FN (মিস করা)
  2. 2
    confusion_matrix(y_test, y_pred) ও ConfusionMatrixDisplay দিয়ে আঁকুন
  3. 3
    Accuracy = (TP+TN)/মোট
  4. 4
    কোন ভুল বেশি ক্ষতিকর তা প্রসঙ্গ অনুযায়ী ঠিক করুন (রোগে FN, স্প্যামে FP)
TP, TN, FP, FNচারটি ঘর
Accuracyসামগ্রিক সঠিকতা
কেন Accuracy বিভ্রান্তিকর হতে পারে
2

Precision Recall F1

Core classification metrics.
Beginner
📘 বাংলা: ক্লাসিফিকেশনের মূল মেট্রিক।
🌐 English: Core classification metrics.

💡 ভারসাম্যহীন সমস্যায় আসল পারফরম্যান্সের মাপ।

  1. 1
    Precision = TP/(TP+FP): "পজিটিভ বললে কতটা সঠিক"
  2. 2
    Recall = TP/(TP+FN): "আসল পজিটিভের কত ধরা পড়ল"
  3. 3
    F1 = দুটির হারমোনিক গড়; Fβ দিয়ে একটিকে বেশি গুরুত্ব
  4. 4
    classification_report দিয়ে প্রতি ক্লাসে; macro বনাম weighted গড় বুঝুন
Precisionপজিটিভ বলা কতটা সঠিক
Recallআসল পজিটিভ কত ধরা পড়ল
F1হারমোনিক গড়
3

ROC AUC

Threshold-free evaluation.
Intermediate
📘 বাংলা: থ্রেশহোল্ড-নিরপেক্ষ মূল্যায়ন।
🌐 English: Threshold-free evaluation.

💡 থ্রেশহোল্ড-নিরপেক্ষভাবে মডেলের সামগ্রিক পার্থক্য করার ক্ষমতা।

  1. 1
    বিভিন্ন থ্রেশহোল্ডে TPR (recall) ও FPR হিসাব
  2. 2
    ROC কার্ভ: FPR বনাম TPR; AUC = কার্ভের নিচের ক্ষেত্র
  3. 3
    AUC ০.৫ = এলোমেলো, ০.৭–০.৮ গ্রহণযোগ্য, >০.৯ চমৎকার
  4. 4
    ভারসাম্যহীন ডেটায় Precision-Recall কার্ভ ও PR-AUC বেশি তথ্যবহুল
ROC কার্ভTPR বনাম FPR
AUC0.5 = এলোমেলো, 1 = নিখুঁত
PR-AUCভারসাম্যহীন ডেটায়
4

Regression Metrics MAE RMSE R2

Error measures for regression.
Intermediate
📘 বাংলা: রিগ্রেশন মডেলের ভুল পরিমাপ।
🌐 English: Error measures for regression.

💡 সংখ্যা পূর্বাভাস কতটা কাছাকাছি—ভিন্ন মেট্রিক ভিন্ন দিক দেখায়।

  1. 1
    MAE: গড় পরম ত্রুটি—মূল এককে সহজ ব্যাখ্যা
  2. 2
    MSE/RMSE: বড় ভুলকে বেশি শাস্তি; RMSE মূল এককে
  3. 3
    R²: মডেল টার্গেটের ভ্যারিয়েন্সের কত অংশ ব্যাখ্যা করে (১ = নিখুঁত)
  4. 4
    MAPE: শতাংশ ত্রুটি (শূন্যের কাছাকাছি মানে সমস্যা); রেসিডুয়াল প্লট দেখুন
MAEগড় পরম ত্রুটি
RMSEবড় ত্রুটিকে বেশি শাস্তি
R²ব্যাখ্যাকৃত ভ্যারিয়েন্সের অনুপাত
5

Hyperparameter Tuning GridSearch

Search for the best hyperparameters.
Advanced
📘 বাংলা: সেরা প্যারামিটার খোঁজা।
🌐 English: Search for the best hyperparameters.

💡 ডিফল্ট সেটিংসের চেয়ে ভালো মডেল পেতে পদ্ধতিগত খোঁজ।

  1. 1
    হাইপারপ্যারামিটার (max_depth, C) বনাম প্যারামিটার (শেখা ওজন) আলাদা করুন
  2. 2
    GridSearchCV: ছোট গ্রিডের সব সমন্বয়
  3. 3
    RandomizedSearchCV: বড় স্পেসে দ্রুত; Optuna: বুদ্ধিমান (বেইজিয়ান) খোঁজ
  4. 4
    সেরা মডেল টেস্ট সেটে একবার মূল্যায়ন; nested CV দিয়ে নিরপেক্ষ অনুমান
GridSearchCVসব সমন্বয়
RandomizedSearchCVএলোমেলো নমুনা
Optunaবেইজিয়ান অপ্টিমাইজেশন
6

Model Interpretability SHAP

Why the model made a decision.
Advanced
📘 বাংলা: মডেল কেন এই সিদ্ধান্ত নিল।
🌐 English: Why the model made a decision.

💡 স্বাস্থ্য, ঋণ, নীতিনির্ধারণে "কেন" ব্যাখ্যা ছাড়া মডেল গ্রহণযোগ্য নয়।

  1. 1
    গ্লোবাল: কোন ফিচার সামগ্রিকভাবে গুরুত্বপূর্ণ (permutation importance, SHAP summary)
  2. 2
    লোকাল: একটি নির্দিষ্ট পূর্বাভাস কেন (SHAP waterfall, LIME)
  3. 3
    SHAP: প্রতিটি ফিচারের অবদান যোগ করলে পূর্বাভাস হয়
  4. 4
    Partial Dependence Plot: একটি ফিচার বদলালে পূর্বাভাস কীভাবে বদলায়
SHAPপ্রতিটি ফিচারের অবদান
Permutation importance
LIME ও Partial Dependence Plot
💻

হাতে-কলমে কোড · Hands-on code

Run চাপুন — পাইথন আপনার ব্রাউজারেই চলবে (Ctrl+Enter)
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import classification_report, roc_auc_score, confusion_matrix
X,y=load_breast_cancer(return_X_y=True); Xtr,Xte,ytr,yte=train_test_split(X,y,random_state=0)
g=GridSearchCV(RandomForestClassifier(random_state=0),{"n_estimators":[50,100],"max_depth":[3,None]},cv=3).fit(Xtr,ytr)
p=g.predict(Xte); print("Best:",g.best_params_); print(confusion_matrix(yte,p))
print(classification_report(yte,p)); print("ROC-AUC:",round(roc_auc_score(yte,g.predict_proba(Xte)[:,1]),3))
📝

অনুশীলন · Practice tasks

  1. রোগ শনাক্তকরণে Precision না Recall গুরুত্বপূর্ণ—যুক্তি দিন
  2. থ্রেশহোল্ড পরিবর্তন করে F1 বদল দেখান
  3. GridSearch ও RandomizedSearch তুলনা
  4. ক্যাপস্টোন: Model comparison report with SHAP
❓

কুইজ · Quick quiz

1. আসল পজিটিভ কতটা ধরা পড়ল?

2. AUC=0.5 মানে?

🎬

ভিডিও লাইব্রেরি · Videos

সাইটের ভেতরে ফ্লোটিং প্লেয়ারে চলবে
এই শাখার ভিডিও এখনো সংরক্ষিত হয়নি। যেকোনো টপিক পেজ খুললে ভিডিও স্বয়ংক্রিয়ভাবে খুঁজে MySQL-এ সংরক্ষিত হবে (API key থাকলে)।

📺 Reference channels

🔗

সংযুক্ত বিষয় · Connected

← আগের শাখা🎯 Supervised Learningপরের শাখা →🧩 Unsupervised Learning
🎬 Video