Feature Importance এবং Variable Contributions মেশিন লার্নিং মডেলগুলির ব্যাখ্যা এবং বিশ্লেষণের জন্য গুরুত্বপূর্ণ টুলস। এগুলি মডেলটিকে কীভাবে সিদ্ধান্ত নিচ্ছে এবং কোন বৈশিষ্ট্য (features) মডেলটির পূর্বাভাসের জন্য বেশি প্রভাব ফেলছে, তা বোঝার জন্য ব্যবহার করা হয়।
১. Feature Importance
Feature Importance হল সেই প্রক্রিয়া যা মডেলটি প্রশিক্ষণের সময় কোন বৈশিষ্ট্যটি বেশি গুরুত্বপূর্ণ তা নির্ধারণ করে। এটি মডেলের শেখার প্রক্রিয়া থেকে কোন বৈশিষ্ট্যটি আউটপুটে সবচেয়ে বেশি অবদান রাখছে, তা জানতে সাহায্য করে।
বিভিন্ন মডেল যেমন Random Forest, Gradient Boosting Machines (GBM), XGBoost, ইত্যাদিতে feature importance সাধারণত Gini Impurity বা Permutation Importance এর মাধ্যমে হিসাব করা হয়।
- Gini Impurity: এই পদ্ধতিতে, গাছের প্রতিটি নোডে বৈশিষ্ট্যগুলি কেমনভাবে শ্রেণীবদ্ধকরণে সাহায্য করে তা যাচাই করা হয়।
- Permutation Importance: মডেলটির প্রতি বৈশিষ্ট্য একে একে এলোমেলো করা হয় এবং প্রতি বৈশিষ্ট্যের উপর মডেলের পারফরম্যান্সের প্রভাব পরীক্ষা করা হয়।
Feature Importance ব্যবহার করার উদাহরণ (Python):
from sklearn.ensemble import RandomForestClassifier
import pandas as pd
# উদাহরণ ডেটা
data = pd.read_csv('data.csv')
X = data.drop('target', axis=1)
y = data['target']
# মডেল প্রশিক্ষণ
model = RandomForestClassifier()
model.fit(X, y)
# Feature importance প্রদর্শন
feature_importance = model.feature_importances_
print("Feature Importance: ", feature_importance)
২. Variable Contributions
Variable Contributions হল একটি ধারণা যা মডেলের আউটপুটে প্রতিটি বৈশিষ্ট্যের অবদান নির্ধারণ করে। এটি সাধারণত Shapley values বা LIME (Local Interpretable Model-agnostic Explanations) ব্যবহার করে পরিমাপ করা হয়।
- Shapley Values: এটি গেম থিওরি ভিত্তিক একটি পদ্ধতি, যেখানে প্রতিটি বৈশিষ্ট্যের অবদান গণনা করা হয়। প্রতিটি বৈশিষ্ট্যের অবদান মডেলের প্রতিটি সম্ভাব্য আউটপুটে তার ভূমিকা অনুসারে গণনা করা হয়।
- LIME: এটি একটি মডেল-অ্যাগনস্টিক পদ্ধতি যা কোনো ব্ল্যাকবক্স মডেলের প্রতিটি আউটপুটের জন্য বৈশিষ্ট্যের প্রভাব ব্যাখ্যা করতে সাহায্য করে।
Partial Dependence Plots (PDP) এবং Individual Conditional Expectation (ICE)
Partial Dependence Plots (PDP) এবং Individual Conditional Expectation (ICE) হল দুটি গ্রাফিকাল টুল যা মডেলটি কিভাবে বৈশিষ্ট্যগুলির পরিবর্তনের উপর আউটপুট নির্ধারণ করে তা বুঝতে সহায়ক।
১. Partial Dependence Plots (PDP)
PDP হল একটি গ্রাফিক যা একটি নির্দিষ্ট বৈশিষ্ট্য বা বৈশিষ্ট্যগুলির জন্য আউটপুট পরিবর্তন কেমন হবে তা প্রদর্শন করে। এটি মডেলটির মাঝারি প্রভাব প্রকাশ করে, অর্থাৎ একটি বৈশিষ্ট্যের পরিবর্তনের প্রভাব অন্য বৈশিষ্ট্যগুলি স্থির রেখে দেখানো হয়।
- PDP মডেলটির মাধ্যমে একটি বৈশিষ্ট্যের পরিবর্তনের ফলাফল দেখায়, যখন অন্য বৈশিষ্ট্যগুলি পরিবর্তন হয় না।
- এটি linear relationship বা non-linear relationship শনাক্ত করতে সাহায্য করে, এবং প্রতিটি বৈশিষ্ট্যের প্রতি মডেলের প্রভাব কীভাবে পরিবর্তিত হয় তা বোঝায়।
PDP তৈরি করার উদাহরণ (Python):
from sklearn.ensemble import RandomForestClassifier
from sklearn.inspection import plot_partial_dependence
import matplotlib.pyplot as plt
# মডেল প্রশিক্ষণ
model = RandomForestClassifier()
model.fit(X, y)
# PDP প্লট তৈরি করা
plot_partial_dependence(model, X, features=[0, 1], target=0)
plt.show()
২. Individual Conditional Expectation (ICE)
ICE প্লটগুলি PDP এর একটি উন্নত সংস্করণ। যেখানে PDP সমস্ত উদাহরণের জন্য গড় প্রতিক্রিয়া (average response) দেখায়, ICE প্লটগুলি প্রতিটি ইনপুট ডেটা পয়েন্টের জন্য প্রতিক্রিয়া প্রদর্শন করে।
ICE প্লটগুলি মূলত PDP এর মতোই, তবে এটি একে একে প্রতিটি ইনস্ট্যান্সের (দৃষ্টান্ত) জন্য প্রতিক্রিয়া প্রদর্শন করে। এর ফলে, মডেলটির প্রতি বৈশিষ্ট্যের individual impact বুঝতে সহজ হয়।
ICE প্লট তৈরি করার উদাহরণ (Python):
from sklearn.ensemble import RandomForestClassifier
from sklearn.inspection import plot_partial_dependence
from sklearn.inspection import plot_partial_dependence
import matplotlib.pyplot as plt
# মডেল প্রশিক্ষণ
model = RandomForestClassifier()
model.fit(X, y)
# ICE প্লট তৈরি করা
plot_partial_dependence(model, X, features=[0, 1], kind='individual')
plt.show()
PDP এবং ICE এর মধ্যে পার্থক্য
- PDP গ্রাফের মাধ্যমে আমরা কেবল একটি বৈশিষ্ট্যের আউটপুটে প্রভাব জানি, যখন অন্যান্য বৈশিষ্ট্যগুলির মান অপরিবর্তিত থাকে। এটি একটি গড় প্রভাব প্রকাশ করে।
- ICE গ্রাফের মাধ্যমে আমরা প্রতিটি ইনপুট ডেটা পয়েন্টের জন্য আউটপুটের পরিবর্তন জানি, যা প্রতিটি বৈশিষ্ট্যের প্রভাবের পরিবর্তনকে পরিষ্কারভাবে প্রকাশ করে।
সারাংশ
- Feature Importance এবং Variable Contributions মডেলের শিখন প্রক্রিয়ার মধ্যে কোন বৈশিষ্ট্য সবচেয়ে বেশি প্রভাব ফেলছে, তা বোঝায়।
- PDP এবং ICE হল দুটি গ্রাফিক্যাল টুল যা মডেলের প্রতিক্রিয়া এবং বৈশিষ্ট্যের মধ্যে সম্পর্ক ব্যাখ্যা করতে সাহায্য করে।
- PDP সারা ডেটাসেটে একটি বৈশিষ্ট্যের প্রভাব দেখায়, যেখানে ICE প্রতিটি ইনস্ট্যান্সের জন্য প্রভাবের পরিবর্তন দেখায়।
- Shapley Values এবং LIME পদ্ধতিগুলি variable contributions এর বিশ্লেষণে ব্যবহার করা হয়, যা মডেলের ব্যাখ্যা এবং নিরাপত্তা সম্পর্কিত ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ।
Read more