Hyperparameter Tuning এর বাস্তব উদাহরণ

H2O.ai এর Hyperparameter Tuning - এইচ২ও (H2O) - Machine Learning

356

ধরা যাক, আপনি একটি Random Forest Classifier মডেল তৈরি করছেন এবং আপনার লক্ষ্য হল এর পারফরম্যান্স উন্নত করা। এর জন্য আমরা Hyperparameter Tuning ব্যবহার করব এবং Grid Search পদ্ধতিতে এর কার্যকারিতা বিশ্লেষণ করব।

এই উদাহরণে আমরা:

  • ডেটা লোড করব এবং প্রশিক্ষণ ও পরীক্ষণের জন্য বিভক্ত করব।
  • RandomForestClassifier মডেলের hyperparameters এর জন্য tuning করব।
  • Grid Search এর মাধ্যমে বিভিন্ন hyperparameter সংমিশ্রণ পরীক্ষা করব।

উদাহরণ: Random Forest Classifier Hyperparameter Tuning with Grid Search

১. প্রয়োজনীয় প্যাকেজ ইন্সটল করা

প্রথমে, আমাদের প্রয়োজনীয় প্যাকেজগুলো ইনস্টল করতে হবে। নিচে প্রদত্ত কমান্ডটি ব্যবহার করুন:

pip install scikit-learn

২. কোড উদাহরণ

# প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করা
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# ডেটা লোড করা
data = load_iris()
X = data.data
y = data.target

# প্রশিক্ষণ এবং পরীক্ষা ডেটা বিভক্ত করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Random Forest মডেল তৈরি করা
rf = RandomForestClassifier()

# Hyperparameter গ্রিড তৈরি করা
param_grid = {
    'n_estimators': [50, 100, 200],       # ট্রি সংখ্যা
    'max_depth': [10, 20, 30],             # ট্রি গভীরতা
    'min_samples_split': [2, 5, 10],       # মিনিমাম নমুনা সংখ্যা বিভাজনের জন্য
    'max_features': ['auto', 'sqrt', 'log2']  # ফিচারের সংখ্যা
}

# GridSearchCV ব্যবহার করা
grid_search = GridSearchCV(estimator=rf, param_grid=param_grid, cv=3, n_jobs=-1)

# Grid Search ট্রেনিং
grid_search.fit(X_train, y_train)

# সেরা hyperparameters পাওয়া
print("Best hyperparameters found: ", grid_search.best_params_)

# সেরা মডেল থেকে পূর্বাভাস নেওয়া
best_rf = grid_search.best_estimator_
y_pred = best_rf.predict(X_test)

# accuracy পরীক্ষা করা
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy * 100:.2f}%')

৩. ব্যাখ্যা

  • ডেটা লোড করা: load_iris ফাংশনটি আইরিস ডেটাসেটটি লোড করবে।
  • Train/Test Split: ডেটাকে প্রশিক্ষণ এবং পরীক্ষণ সেটে ভাগ করা হবে train_test_split ফাংশন ব্যবহার করে।
  • Random Forest মডেল: RandomForestClassifier ব্যবহার করা হয়েছে এবং এর জন্য hyperparameters (n_estimators, max_depth, min_samples_split, এবং max_features) নির্বাচনের জন্য গ্রিড তৈরি করা হয়েছে।
  • GridSearchCV: GridSearchCV ব্যবহার করে আমরা সমস্ত সম্ভব hyperparameter সংমিশ্রণ পরীক্ষা করেছি এবং সর্বোত্তম সঙ্কলন বের করেছি।
  • সেরা মডেল নির্বাচন: grid_search.best_estimator_ দ্বারা সেরা মডেলটি নির্বাচিত হয়েছে এবং তারপর সেই মডেলটি পরীক্ষা ডেটাসেটের উপর পূর্বাভাস তৈরি করেছে।

৪. আউটপুট

Best hyperparameters found:  {'max_depth': 20, 'max_features': 'sqrt', 'min_samples_split': 2, 'n_estimators': 200}
Accuracy: 97.78%

এখানে, সেরা hyperparameter সংমিশ্রণ ছিল:

  • n_estimators = 200
  • max_depth = 20
  • min_samples_split = 2
  • max_features = 'sqrt'

এবং মডেলটি 97.78% accuracy অর্জন করেছে।


সারাংশ

এই উদাহরণে Grid Search ব্যবহার করে Random Forest মডেলের জন্য optimal hyperparameters নির্বাচন করা হয়েছে। Grid Search একটি খুবই কার্যকর পদ্ধতি যা মডেল পারফরম্যান্সের উন্নতির জন্য সবচেয়ে উপযুক্ত hyperparameters নির্ধারণ করতে সহায়ক। Hyperparameter Tuning এর মাধ্যমে মডেলটির accuracy এবং কার্যকারিতা বৃদ্ধি করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...