Home › Roadmap › Model Evaluation › Part 6

Model Interpretability SHAP

📘 মডেল কেন এই সিদ্ধান্ত নিল।

🌐 Why the model made a decision.

📏 মডেল মূল্যায়ন ও টিউনিং🎚 Advanced📍 Part 6 / 6🧩 3 সাব-টপিক
📏
1

ধারণা · Concept

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

🗂 কোথায় পড়ে

৩. মেশিন লার্নিং → মডেল মূল্যায়ন ও টিউনিং → Model Interpretability SHAP

🎯 এই শাখার লক্ষ্য

Pick metrics, tune hyperparameters, explain predictions

🧰 টুলস

scikit-learn, SHAP

🪜

ধাপে ধাপে শিখুন · Step-by-step

কেন শিখবেন → কীভাবে শিখবেন → উদাহরণ → সাধারণ ভুল
💡 কেন গুরুত্বপূর্ণ?

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

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

🧪 বাস্তব উদাহরণ

shap.TreeExplainer(model) → "এই রোগীর ঝুঁকি বেশি মূলত বয়স (+০.১৫) ও ডায়াবেটিস (+০.১০) এর কারণে"।

⚠️ সাধারণ ভুল

ফিচারের গুরুত্বকে কার্যকারণ প্রভাব ভাবা।

🔑 মূল শব্দ (Key terms)

interpretabilitySHAPLIMEpermutation importancePDP

3

সাব-টপিক ও বিস্তারিত · Sub-topics

টপিক → সাব-টপিক → সাব-সাব টপিক
6.1 SHAP6.1.1 প্রতিটি ফিচারের অবদান
6.2 Permutation importance
6.3 LIME ও Partial Dependence Plot
🎬

ভিডিও · Videos (বাংলা ও English)

ক্লিক করলে সাইটের ভেতরেই ফ্লোটিং প্লেয়ারে চলবে · ভিডিও MySQL-এ সংরক্ষিত

📺 আরও খুঁজুন

💻

হাতে-কলমে · Try it (Model Evaluation)

এডিট করে 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))
❓

সেল্ফ-চেক · Self check

1. “প্রতিটি ফিচারের অবদান” — এটি কোন সাব-টপিকের বর্ণনা?

🔗

সংযুক্ত কনসেপ্ট · Connected concepts

← আগের টপিকHyperparameter Tuning GridSearchপরের টপিক →K-Means Clustering
🎬 Video