Skill

H2O.ai এর Hyperparameter Tuning

এইচ২ও (H2O) - Machine Learning

429

H2O.ai একটি শক্তিশালী মেশিন লার্নিং প্ল্যাটফর্ম, যা Hyperparameter Tuning এর জন্য একাধিক পদ্ধতি প্রদান করে, যার মাধ্যমে আপনি আপনার মডেলের পারফরম্যান্স সর্বোচ্চ করতে পারেন। H2O.ai তে Grid Search, Random Search, এবং AutoML এর মাধ্যমে Hyperparameter Tuning করা যায়।


১. H2O.ai তে Hyperparameter Tuning এর পদ্ধতি

১.১. Grid Search

H2O.ai তে Grid Search ব্যবহার করে আপনি বিভিন্ন hyperparameters এর মান পরীক্ষা করতে পারেন। Grid Search একটি exhaustively পদ্ধতি যা বিভিন্ন hyperparameter সংমিশ্রণ পরীক্ষার মাধ্যমে সেরা ফলাফল প্রদানকারী মান খুঁজে বের করে।

Grid Search এর উদাহরণ:

import h2o
from h2o.estimators import H2ORandomForestEstimator
from h2o.grid.grid_search import H2OGridSearch

# H2O সার্ভার শুরু করা
h2o.init()

# ডেটা লোড করা
data = h2o.import_file("path/to/data.csv")

# প্রশিক্ষণ এবং টেস্ট ডেটা বিভক্ত করা
train, test = data.split_frame(ratios=[.8])

# মডেল তৈরি করা
rf_model = H2ORandomForestEstimator()

# Hyperparameter গ্রিড তৈরি করা
hyper_params = {
    'ntrees': [100, 200],
    'max_depth': [10, 20, 30],
    'min_rows': [1, 5, 10]
}

# Grid Search পরিচালনা করা
grid_search = H2OGridSearch(model=rf_model, hyper_params=hyper_params)
grid_search.train(x=["column1", "column2", "column3"], y="target_column", training_frame=train)

# সেরা মডেল দেখতে
best_model = grid_search.get_grid(sort_by='auc', decreasing=True)
print(best_model)

এই কোডটি একটি Random Forest মডেল তৈরি করবে এবং বিভিন্ন hyperparameters পরীক্ষা করবে।

১.২. Random Search

Random Search একটি পদ্ধতি যেখানে আপনি কয়েকটি র‍্যান্ডম hyperparameter সংমিশ্রণ পরীক্ষা করেন, যা Grid Search এর চেয়ে কম সময়ে সেরা ফলাফল দিতে পারে। এটি উচ্চ পারফরম্যান্সের জন্য দ্রুত সমাধান খুঁজে বের করতে সহায়ক।

Random Search এর উদাহরণ:

from h2o.estimators import H2ORandomForestEstimator
from h2o.grid.grid_search import H2OGridSearch
import numpy as np

# H2O সার্ভার শুরু করা
h2o.init()

# ডেটা লোড করা
data = h2o.import_file("path/to/data.csv")

# প্রশিক্ষণ এবং টেস্ট ডেটা বিভক্ত করা
train, test = data.split_frame(ratios=[.8])

# মডেল তৈরি করা
rf_model = H2ORandomForestEstimator()

# Hyperparameter distributions তৈরি করা
hyper_params = {
    'ntrees': np.random.choice([50, 100, 150]),
    'max_depth': np.random.choice([10, 20, 30]),
    'min_rows': np.random.choice([1, 5, 10])
}

# Random Search পরিচালনা করা
random_search = H2OGridSearch(model=rf_model, hyper_params=hyper_params)
random_search.train(x=["column1", "column2", "column3"], y="target_column", training_frame=train)

# সেরা মডেল দেখতে
best_model = random_search.get_grid(sort_by='auc', decreasing=True)
print(best_model)

১.৩. AutoML (Automated Machine Learning)

H2O.ai তে AutoML একটি শক্তিশালী ফিচার যা স্বয়ংক্রিয়ভাবে বিভিন্ন মডেল ট্রেনিং, tuning এবং evaluation প্রক্রিয়া সম্পন্ন করে। এটি ব্যবহারকারীর জন্য মেশিন লার্নিং মডেল তৈরি করার প্রক্রিয়াকে সহজ এবং দ্রুত করে তোলে। AutoML ব্যবহার করে Hyperparameter Tuning এবং মডেল নির্বাচন করা সহজ হয়।

AutoML এর উদাহরণ:

import h2o
from h2o.automl import H2OAutoML

# H2O সার্ভার শুরু করা
h2o.init()

# ডেটা লোড করা
data = h2o.import_file("path/to/data.csv")

# প্রশিক্ষণ এবং টেস্ট ডেটা বিভক্ত করা
train, test = data.split_frame(ratios=[.8])

# AutoML চালানো
aml = H2OAutoML(max_models=20, seed=1)
aml.train(x=["column1", "column2", "column3"], y="target_column", training_frame=train)

# সেরা মডেল দেখতে
leaderboard = aml.leaderboard
print(leaderboard)

এই কোডটি AutoML চালিয়ে ২০টি বিভিন্ন মডেল তৈরি করবে এবং সেরা মডেল নির্বাচন করবে।


২. Hyperparameter Tuning এর গুরুত্বপূর্ণ প্যারামিটার

H2O.ai তে বিভিন্ন মডেলিং অ্যালগরিদমের জন্য বিভিন্ন hyperparameters টিউন করা যায়। কিছু সাধারণ hyperparameters নিম্নরূপ:

  • Random Forest / Gradient Boosting Machines (GBM):
    • ntrees: মোট ট্রি সংখ্যা।
    • max_depth: ট্রির গভীরতা।
    • min_rows: ট্রির জন্য ন্যূনতম নমুনার সংখ্যা।
    • sample_rate: প্রশিক্ষণ ডেটা স্যাম্পল করার হার।
  • Deep Learning (Neural Networks):
    • hidden: নিউরাল নেটওয়ার্কের লুকানো স্তরের সংখ্যা এবং স্নায়ুকোষের সংখ্যা।
    • epochs: প্রশিক্ষণ চলার সময়।
    • learning_rate: মডেল শিখতে কত দ্রুত হবে।
    • activation: একটিভেশন ফাংশন যেমন ReLU, Tanh, বা Sigmoid।

৩. Hyperparameter Tuning এর জন্য H2O.ai এর সুবিধা

  • স্বয়ংক্রিয় Hyperparameter Tuning:
    H2O.ai AutoML এবং Grid/Random Search এর মাধ্যমে স্বয়ংক্রিয়ভাবে মডেল প্রশিক্ষণ এবং tuning প্রক্রিয়া সম্পন্ন করতে পারে।
  • বিভিন্ন মডেল সমর্থন:
    H2O.ai বিভিন্ন মডেল সমর্থন করে, যেমন Random Forest, GBM, Deep Learning, Stacked Ensembles ইত্যাদি, যা বিভিন্ন প্রকল্পের জন্য উপযুক্ত।
  • ব্যবহারকারী-বান্ধব ফিচার:
    H2O.ai এর Grid Search, Random Search এবং AutoML এর মাধ্যমে সহজে এবং দ্রুত মডেল টিউন করা সম্ভব, যা মেশিন লার্নিংয়ের জন্য উন্নত ব্যবহারকারী অভিজ্ঞতা প্রদান করে।

সারাংশ

H2O.ai তে Hyperparameter Tuning মডেলের পারফরম্যান্স বৃদ্ধির জন্য অত্যন্ত গুরুত্বপূর্ণ। Grid Search, Random Search, এবং AutoML এর মাধ্যমে আপনি আপনার মডেলকে বিভিন্ন hyperparameters এর সংমিশ্রণ পরীক্ষা করে টিউন করতে পারেন। এই প্রক্রিয়া মডেলের কাজের দক্ষতা বৃদ্ধি করতে সহায়ক এবং স্বয়ংক্রিয়ভাবে আরও ভাল মডেল নির্বাচন করতে সহায়ক হয়।

Content added By

Hyperparameter Tuning মেশিন লার্নিং মডেল তৈরি এবং প্রশিক্ষণের একটি গুরুত্বপূর্ণ অংশ। Hyperparameters হলো সেই প্যারামিটারগুলি যা মডেল প্রশিক্ষণ শুরু করার আগে নির্ধারণ করতে হয় এবং যেগুলি মডেল ট্রেনিং প্রক্রিয়া চলাকালীন পরিবর্তন হয় না। এই hyperparameters এর মান সঠিকভাবে নির্ধারণ করা মডেলের পারফরম্যান্সের ওপর সরাসরি প্রভাব ফেলে।

১. মডেলের পারফরম্যান্স বৃদ্ধি

Hyperparameter tuning এর মাধ্যমে, আপনি মডেলের জন্য সেরা প্যারামিটার সেট নির্বাচন করতে পারেন। এটি মডেলের পারফরম্যান্স বৃদ্ধি করতে সহায়ক, কারণ সঠিক hyperparameter মান নির্বাচনের মাধ্যমে মডেলটি তার সর্বোচ্চ ক্ষমতা অনুযায়ী কাজ করতে পারে।

  • উদাহরণস্বরূপ, যদি learning rate খুব বেশি হয়, তাহলে মডেলটি অতি দ্রুত শিখতে শুরু করবে এবং সঠিকভাবে কনভার্জ করতে পারবে না। আবার, যদি খুব কম হয়, তবে মডেলটি ধীরে ধীরে শিখবে এবং সময়ের ব্যবধানে সঠিক ফলাফল দিতে পারবে না। Hyperparameter tuning এর মাধ্যমে, সঠিক learning rate নির্বাচন করা যেতে পারে।

২. ওভারফিটিং এবং আন্ডারফিটিং কমানো

ওভারফিটিং (Overfitting) এবং আন্ডারফিটিং (Underfitting) হল মডেল তৈরির সাধারণ সমস্যা।

  • ওভারফিটিং এর সময় মডেল প্রশিক্ষণের ডেটার প্রতি অতিরিক্ত মানিয়ে যায়, যার ফলে নতুন ডেটাতে সঠিক পূর্বাভাস দিতে পারে না।
  • আন্ডারফিটিং এর সময় মডেল ডেটার সম্পর্ক শিখতে ব্যর্থ হয় এবং সঠিক ফলাফল দিতে পারে না।

Hyperparameter tuning এর মাধ্যমে আপনি মডেলকে সঠিকভাবে প্রশিক্ষণ দেওয়ার জন্য সঠিক hyperparameters নির্বাচন করতে পারেন, যা উভয় সমস্যা কমাতে সাহায্য করে।

৩. উচ্চ স্কোর এবং সঠিক পূর্বাভাস

Hyperparameter tuning এর ফলে মডেলের পারফরম্যান্স উন্নত হতে পারে, যার মাধ্যমে মডেলটি সঠিকভাবে পূর্বাভাস প্রদান করতে সক্ষম হয়। এটি বিশেষভাবে ক্লাসিফিকেশন এবং রিগ্রেশন সমস্যা সমাধানে গুরুত্বপূর্ণ, যেখানে উচ্চ স্কোর বা নির্ভুলতা অত্যন্ত গুরুত্বপূর্ণ।

৪. প্রশিক্ষণ সময় অপ্টিমাইজেশন

Hyperparameter tuning এর মাধ্যমে আপনি মডেল প্রশিক্ষণের জন্য সঠিক প্যারামিটার নির্বাচন করতে পারেন, যা প্রশিক্ষণের সময় কমাতে সহায়ক। উদাহরণস্বরূপ, একটি বড় মডেল বা অতিরিক্ত ট্রি সংখ্যার কারণে প্রশিক্ষণ অনেক সময় নিতে পারে। সঠিক hyperparameter সেটিংস যেমন batch size এবং epochs নির্বাচন করে আপনি মডেলের প্রশিক্ষণ সময় সাশ্রয় করতে পারেন।

৫. ডেটা প্রসেসিং এবং ফিচার ইঞ্জিনিয়ারিংয়ের সাথে সামঞ্জস্য

Hyperparameter tuning এর মাধ্যমে আপনি ডেটার জন্য সর্বোত্তম preprocessing এবং ফিচার ইঞ্জিনিয়ারিং কৌশলগুলি নির্বাচিত করতে পারেন। কিছু hyperparameters যেমন max_depth এবং min_samples_split ট্রি ভিত্তিক মডেলগুলির জন্য উপযুক্ত ফিচার ইঞ্জিনিয়ারিং পদ্ধতি নির্ধারণে সহায়ক।

৬. মডেল সংবেদনশীলতা এবং সাধারণীকরণ উন্নতি

Mডেলটি যদি অত্যন্ত জটিল হয় তবে তা সাধারণীকরণে সমস্যা সৃষ্টি করতে পারে। Hyperparameter tuning এর মাধ্যমে সঠিক প্যারামিটার নির্বাচন করলে, মডেলটি নতুন ডেটাতে ভালোভাবে কাজ করতে পারে এবং এটি মডেলের সংবেদনশীলতা বাড়াতে সাহায্য করতে পারে।


সারাংশ

Hyperparameter tuning মডেল তৈরির একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা মডেলের পারফরম্যান্স, প্রশিক্ষণ সময়, এবং সাধারণীকরণ ক্ষমতা উন্নত করতে সাহায্য করে। এটি মডেলের আন্ডারফিটিং এবং ওভারফিটিং সমস্যা কমাতে সহায়ক, এবং সঠিক hyperparameter সেটিংস নির্বাচন করে আপনি একটি উচ্চ কার্যকারিতা সম্পন্ন মডেল তৈরি করতে পারেন।

Content added By

Grid Search এবং Random Search হল দুইটি জনপ্রিয় পদ্ধতি, যা মেশিন লার্নিং মডেলের Hyperparameter Tuning এর জন্য ব্যবহৃত হয়। এগুলি মডেলটির পারফরম্যান্সের জন্য সর্বোত্তম হাইপারপ্যারামিটার কনফিগারেশন খুঁজে বের করতে সাহায্য করে।

এখানে, আমরা গ্রিড সার্চ এবং র‍্যান্ডম সার্চ এর সাথে কাজ করার পদ্ধতি এবং তাদের মধ্যে পার্থক্য সম্পর্কে বিস্তারিত আলোচনা করব।


১. Grid Search

Grid Search হল একটি exhaustive পদ্ধতি, যেখানে আপনি নির্দিষ্ট একটি পরিসরে (range) সমস্ত সম্ভাব্য হাইপারপ্যারামিটার কম্বিনেশন পরীক্ষা করেন। এর ফলে মডেলটির জন্য সেরা হাইপারপ্যারামিটার নির্বাচন করা হয়।

কীভাবে Grid Search কাজ করে?

  • প্রথমে, আপনি একটি গ্রিড বা তালিকা তৈরি করেন, যা একাধিক হাইপারপ্যারামিটার মান (values) ধারণ করে।
  • এরপর Grid Search প্রতিটি হাইপারপ্যারামিটার কম্বিনেশনের জন্য মডেল প্রশিক্ষণ করে এবং তার পরিমাণ অনুযায়ী পারফরম্যান্স মূল্যায়ন করে।
  • সবশেষে, সেরা পারফরম্যান্স প্রদানকারী হাইপারপ্যারামিটার কম্বিনেশন নির্বাচন করা হয়।

Grid Search এর সুবিধা:

  • সমস্ত কম্বিনেশন পরীক্ষা করার ফলে এটি সেরা ফলাফল দেয়।
  • ছোট ডেটাসেট এবং কমপ্লেক্স মডেলগুলির জন্য কার্যকরী।

Grid Search এর অসুবিধা:

  • এটি সময়সাপেক্ষ হতে পারে, কারণ এটি সমস্ত কম্বিনেশন পরীক্ষা করে।
  • যদি হাইপারপ্যারামিটারগুলোর পরিসর (range) বড় হয়, তবে এটি অতিরিক্ত সময় নেয়।

Python এ Grid Search উদাহরণ:

from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier

# মডেল তৈরি
model = RandomForestClassifier()

# হাইপারপ্যারামিটার গ্রিড
param_grid = {
    'n_estimators': [100, 200, 300],
    'max_depth': [10, 20, 30],
    'min_samples_split': [2, 5]
}

# Grid Search প্রক্রিয়া
grid_search = GridSearchCV(estimator=model, param_grid=param_grid, cv=3)
grid_search.fit(X_train, y_train)

# সেরা প্যারামিটার দেখা
print("Best parameters found: ", grid_search.best_params_)

এই কোডটি RandomForestClassifier এর জন্য হাইপারপ্যারামিটার গ্রিড নির্ধারণ করেছে এবং বিভিন্ন কম্বিনেশন পরীক্ষা করে সেরা প্যারামিটারগুলি খুঁজে বের করবে।


২. Random Search

Random Search হল একটি পদ্ধতি, যেখানে আপনি শুধুমাত্র র্যান্ডমভাবে কিছু হাইপারপ্যারামিটার মান নির্বাচন করেন এবং সেগুলির সাথে মডেল প্রশিক্ষণ করেন। এটি এক্সটেনসিভ পরিসরের মধ্যে থেকে সেরা হাইপারপ্যারামিটার খুঁজে বের করার একটি দক্ষ পদ্ধতি।

কীভাবে Random Search কাজ করে?

  • প্রথমে, আপনি হাইপারপ্যারামিটারগুলোর জন্য একটি পরিসর (range) নির্ধারণ করেন।
  • পরবর্তীতে, কিছু হাইপারপ্যারামিটার মান র্যান্ডমভাবে নির্বাচন করা হয় এবং মডেল প্রশিক্ষণ করে তার পারফরম্যান্স পর্যালোচনা করা হয়।
  • এটি একটি নির্দিষ্ট সংখ্যা র্যান্ডম কম্বিনেশন পরীক্ষা করে, সেরা পারফরম্যান্স প্রদানকারী হাইপারপ্যারামিটার নির্বাচন করে।

Random Search এর সুবিধা:

  • Grid Search এর তুলনায় কম সময়ে কাজ করতে পারে।
  • বড় পরিসরের হাইপারপ্যারামিটার সেটের জন্য কার্যকরী।

Random Search এর অসুবিধা:

  • Grid Search এর তুলনায় কিছু কম্বিনেশন মিস হতে পারে।
  • কিছু সময়ে এটি সেরা ফলাফল নাও দিতে পারে, বিশেষ করে যদি সঠিক র্যান্ডম সিলেকশন না হয়।

Python এ Random Search উদাহরণ:

from sklearn.model_selection import RandomizedSearchCV
from sklearn.ensemble import RandomForestClassifier
from scipy.stats import randint

# মডেল তৈরি
model = RandomForestClassifier()

# হাইপারপ্যারামিটার ডিসট্রিবিউশন
param_dist = {
    'n_estimators': randint(100, 1000),
    'max_depth': randint(1, 20),
    'min_samples_split': randint(2, 10)
}

# Random Search প্রক্রিয়া
random_search = RandomizedSearchCV(estimator=model, param_distributions=param_dist, n_iter=10, cv=3)
random_search.fit(X_train, y_train)

# সেরা প্যারামিটার দেখা
print("Best parameters found: ", random_search.best_params_)

এখানে, RandomizedSearchCV ব্যবহার করে বিভিন্ন হাইপারপ্যারামিটার কম্বিনেশন পরীক্ষা করা হচ্ছে এবং সেরা কম্বিনেশন খুঁজে বের করা হচ্ছে।


৩. Grid Search vs Random Search

বৈশিষ্ট্যGrid SearchRandom Search
প্রক্রিয়াসমস্ত সম্ভাব্য কম্বিনেশন পরীক্ষা করার্যান্ডমভাবে কিছু কম্বিনেশন নির্বাচন করা
কম্বিনেশন সংখ্যাবেশি (সবই পরীক্ষা করা হয়)কম (কেবল কিছু কম্বিনেশন পরীক্ষা করা হয়)
বক্তব্য সময়সময়সাপেক্ষ (যদি পরিসর বড় হয়)তুলনামূলকভাবে দ্রুত
ফলাফলসেরা পারফরম্যান্স সঠিকভাবে দেয়কখনও কখনও কম পারফরম্যান্স দিতে পারে
শ্রেষ্ঠ ক্ষেত্রছোট ডেটাসেট, ছোট হাইপারপ্যারামিটার সেটবড় ডেটাসেট, বড় হাইপারপ্যারামিটার সেট

সারাংশ

  • Grid Search হল একটি exhaustive এবং নির্ভুল পদ্ধতি, তবে এটি সময়সাপেক্ষ হতে পারে।
  • Random Search হল একটি দ্রুত পদ্ধতি, যা বড় হাইপারপ্যারামিটার পরিসরের জন্য উপযুক্ত। তবে এটি সবসময় সেরা ফলাফল দেয় না।
  • আপনার মডেলের জন্য সর্বোত্তম হাইপারপ্যারামিটার নির্বাচন করতে, আপনি Grid Search বা Random Search ব্যবহার করতে পারেন, এবং নির্ভর করে আপনার ডেটার পরিসর ও মডেলের কমপ্লেক্সিটির ওপর উপযুক্ত পদ্ধতি নির্বাচন করতে হবে।
Content added By

ধরা যাক, আপনি একটি 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...