Scikit-learn হল একটি জনপ্রিয় Python লাইব্রেরি যা মেশিন লার্নিং-এর জন্য বিভিন্ন অ্যালগরিদম, যেমন Decision Tree এবং Random Forest, সরবরাহ করে। এই অ্যালগরিদমগুলি প্রধানত সুপারভাইজড লার্নিং সমস্যা সমাধানে ব্যবহৃত হয়, বিশেষ করে ক্লাসিফিকেশন এবং রিগ্রেশন টাস্কে।
১. Decision Tree মডেল তৈরি
Decision Tree একটি ক্লাসিফিকেশন অ্যালগরিদম যা একটি গাছের মতো গঠন তৈরি করে এবং ইনপুট ফিচারের ভিত্তিতে সিদ্ধান্ত নেয়।
Decision Tree তৈরির প্রক্রিয়া:
- ডেটা লোড করা: ডেটাসেট প্রস্তুত করুন।
- Decision Tree Classifier তৈরি করা:
DecisionTreeClassifierব্যবহার করুন। - মডেল প্রশিক্ষণ:
fit()মেথড ব্যবহার করে মডেল প্রশিক্ষণ দিন। - পূর্বানুমান করা:
predict()মেথড দিয়ে নতুন ডেটার ওপর পূর্বানুমান করুন।
Decision Tree উদাহরণ:
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
# ডেটাসেট লোড করা
iris = load_iris()
X = iris.data
y = iris.target
# ডেটাসেট ট্রেনিং এবং টেস্টিং সেটে বিভক্ত করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# Decision Tree Classifier তৈরি করা
model = DecisionTreeClassifier(random_state=42)
# মডেল প্রশিক্ষণ
model.fit(X_train, y_train)
# পূর্বানুমান করা
y_pred = model.predict(X_test)
# মডেল এর Accuracy দেখানো
print(f"Accuracy: {accuracy_score(y_test, y_pred)}")
এখানে load_iris() ফাংশন দিয়ে Iris Dataset ব্যবহার করা হয়েছে, যা একটি জনপ্রিয় ডেটাসেট ক্লাসিফিকেশন টাস্কের জন্য। Decision Tree মডেলটিকে ট্রেনিং ডেটার ওপর প্রশিক্ষণ দেওয়া হয়েছে এবং তারপর টেস্ট ডেটার ওপর পূর্বানুমান করা হয়েছে।
২. Random Forest মডেল তৈরি
Random Forest হল একটি এনসেম্বল অ্যালগরিদম যা অনেক Decision Tree এর সমন্বয়ে তৈরি হয় এবং তার মধ্যে প্রতিটি ট্রি পৃথকভাবে সিদ্ধান্ত নেয়, তারপর সেগুলির গড় বা ভোটিংয়ের মাধ্যমে চূড়ান্ত সিদ্ধান্ত নেয়।
Random Forest তৈরির প্রক্রিয়া:
- ডেটা লোড করা: ডেটাসেট প্রস্তুত করুন।
- Random Forest Classifier তৈরি করা:
RandomForestClassifierব্যবহার করুন। - মডেল প্রশিক্ষণ:
fit()মেথড ব্যবহার করে মডেল প্রশিক্ষণ দিন। - পূর্বানুমান করা:
predict()মেথড দিয়ে নতুন ডেটার ওপর পূর্বানুমান করুন।
Random Forest উদাহরণ:
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# Random Forest Classifier তৈরি করা
rf_model = RandomForestClassifier(n_estimators=100, random_state=42)
# মডেল প্রশিক্ষণ
rf_model.fit(X_train, y_train)
# পূর্বানুমান করা
y_pred_rf = rf_model.predict(X_test)
# মডেল এর Accuracy দেখানো
print(f"Random Forest Accuracy: {accuracy_score(y_test, y_pred_rf)}")
এখানে RandomForestClassifier ব্যবহার করা হয়েছে এবং 100টি Decision Tree নিয়ে একটি Random Forest মডেল তৈরি করা হয়েছে। n_estimators=100 এর মাধ্যমে 100টি ট্রি নির্ধারণ করা হয়েছে। এরপর প্রশিক্ষিত মডেলটি টেস্ট ডেটার ওপর পূর্বানুমান করেছে এবং এর অ্যাকিউরেসি মাপা হয়েছে।
সারাংশ:
- Decision Tree: একক Decision Tree ভিত্তিক মডেল, যা সহজ এবং দ্রুত ক্লাসিফিকেশন ও রিগ্রেশন করতে পারে।
- Random Forest: Decision Trees এর সমন্বয়ে তৈরি একটি শক্তিশালী মডেল, যা অতিরিক্ত ট্রি ব্যবহার করে আরো ভালো ফলাফল দেয় এবং অতিরিক্ত ফিচার বা আউটলিয়ার প্রভাব কমায়।
এভাবে Scikit-learn এর DecisionTreeClassifier এবং RandomForestClassifier ব্যবহার করে আপনি সহজেই মেশিন লার্নিং মডেল তৈরি করতে পারবেন।
Read more