Regression Analysis এবং মডেল টিউনিং প্রজেক্ট

Regression Analysis এবং মডেল টিউনিং প্রজেক্ট

Regression Analysis হল একটি পরিসংখ্যানগত পদ্ধতি যা একটি ডিপেনডেন্ট ভেরিয়েবলের (লক্ষ্য ভেরিয়েবল) সাথে একটি বা একাধিক ইনডিপেনডেন্ট ভেরিয়েবলের (স্বাধীন ভেরিয়েবল) সম্পর্ক বিশ্লেষণ করে। এটি ভবিষ্যদ্বাণী করার জন্য ব্যবহার করা হয়। মডেল টিউনিং হল মডেলের কার্যকারিতা উন্নত করার জন্য বিভিন্ন হাইপারপ্যারামিটার পরিবর্তন করা।

এখানে আমি একটি Regression Analysis এবং Model Tuning প্রকল্পের একটি উদাহরণ দেব, যেখানে আমরা একটি ডেটাসেট নিয়ে কাজ করব এবং বিভিন্ন রিগ্রেশন মডেল তৈরি করব।


প্রকল্পের ধাপসমূহ

১. ডেটা সংগ্রহ

আমরা একটি জনপ্রিয় ডেটাসেট ব্যবহার করবো, যেমন Boston Housing Dataset। এটি বাড়ির দাম পূর্বাভাস করার জন্য ব্যবহৃত হয়।

২. ডেটা প্রক্রিয়াকরণ

ডেটাকে বিশ্লেষণ করা এবং প্রয়োজনীয় প্রক্রিয়া করা।

৩. মডেল তৈরি

বিভিন্ন রিগ্রেশন মডেল তৈরি করা, যেমন Linear Regression, Decision Tree Regressor, Random Forest Regressor, এবং CatBoost Regressor।

৪. মডেল মূল্যায়ন

মডেলের কার্যকারিতা মূল্যায়ন করা এবং তুলনা করা।

৫. মডেল টিউনিং

হাইপারপ্যারামিটার টিউনিং করা এবং সেরা মডেল নির্বাচন করা।


প্রোজেক্ট কোড উদাহরণ

# প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করা
import pandas as pd
import numpy as np
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.linear_model import LinearRegression
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import RandomForestRegressor
from catboost import CatBoostRegressor
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score

# ১. ডেটা সংগ্রহ
boston = load_boston()
X = pd.DataFrame(boston.data, columns=boston.feature_names)
y = pd.Series(boston.target)

# ২. ডেটা প্রক্রিয়াকরণ
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# ৩. মডেল তৈরি ও প্রশিক্ষণ
# Linear Regression
linear_model = LinearRegression()
linear_model.fit(X_train, y_train)
linear_predictions = linear_model.predict(X_test)

# Decision Tree Regressor
tree_model = DecisionTreeRegressor()
tree_model.fit(X_train, y_train)
tree_predictions = tree_model.predict(X_test)

# Random Forest Regressor
forest_model = RandomForestRegressor()
forest_model.fit(X_train, y_train)
forest_predictions = forest_model.predict(X_test)

# CatBoost Regressor
catboost_model = CatBoostRegressor(iterations=100, depth=3, learning_rate=0.1, loss_function='RMSE', verbose=0)
catboost_model.fit(X_train, y_train)
catboost_predictions = catboost_model.predict(X_test)

# ৪. মডেল মূল্যায়ন
print("Linear Regression MAE:", mean_absolute_error(y_test, linear_predictions))
print("Decision Tree MAE:", mean_absolute_error(y_test, tree_predictions))
print("Random Forest MAE:", mean_absolute_error(y_test, forest_predictions))
print("CatBoost MAE:", mean_absolute_error(y_test, catboost_predictions))

# ৫. মডেল টিউনিং (Random Forest এর জন্য উদাহরণ)
param_grid = {
    'n_estimators': [100, 200],
    'max_depth': [None, 10, 20],
    'min_samples_split': [2, 5]
}

grid_search = GridSearchCV(RandomForestRegressor(), param_grid, cv=3)
grid_search.fit(X_train, y_train)

best_model = grid_search.best_estimator_
best_predictions = best_model.predict(X_test)

print("Tuned Random Forest MAE:", mean_absolute_error(y_test, best_predictions))

সারসংক্ষেপ

এটি একটি Regression Analysis এবং Model Tuning প্রকল্পের উদাহরণ যেখানে আমরা বিভিন্ন রিগ্রেশন মডেল তৈরি করেছি এবং তাদের কার্যকারিতা মূল্যায়ন করেছি। এর পর আমরা Random Forest মডেলের জন্য হাইপারপ্যারামিটার টিউনিং করেছি। এই প্রকল্পটি আপনাকে রিগ্রেশন বিশ্লেষণ এবং মডেল টিউনিংয়ের প্রক্রিয়া সম্পর্কে ভালো ধারণা দেবে।

Content added By

আরও দেখুন...

Promotion