Multiple এবং Polynomial Linear Regression

Machine Learning - পাইথন ডেটা সায়েন্স (Python Data Science) - Linear Regression এবং Logistic Regression
185

Multiple Linear Regression এবং Polynomial Linear Regression দুটি জনপ্রিয় পরিসংখ্যানিক মডেল যা ডেটা সায়েন্স এবং মেশিন লার্নিংয়ে ব্যবহৃত হয়। এগুলি মূলত Regression Analysis-এর অংশ এবং ডেটা থেকে ভবিষ্যদ্বাণী করার জন্য ব্যবহৃত হয়।


১. Multiple Linear Regression

Multiple Linear Regression (MLR) একটি রিগ্রেশন মডেল যা একাধিক বৈশিষ্ট্য (independent variables) এর উপর নির্ভরশীল (dependent variable) এর সম্পর্ক মডেল করে। এটি একাধিক বৈশিষ্ট্য ব্যবহার করে একটি একক রিগ্রেশন লাইনের মাধ্যমে ভবিষ্যদ্বাণী করে।

মডেল:

Multiple Linear Regression মডেলটি সাধারণত নিচের সূত্র অনুসরণ করে:

Y=β0+β1X1+β2X2++βnXn+ϵY = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \dots + \beta_n X_n + \epsilon

এখানে:

  • YY হলো নির্ভরশীল ভেরিয়েবল।
  • X1,X2,,XnX_1, X_2, \dots, X_n হলো স্বাধীন ভেরিয়েবল (features)।
  • β0\beta_0 হলো intercept (constant term)।
  • β1,β2,,βn\beta_1, \beta_2, \dots, \beta_n হলো coefficients (weights)।
  • ϵ\epsilon হলো error term (residuals)।

উদাহরণ: Multiple Linear Regression

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
import seaborn as sns

# উদাহরণ ডেটাসেট
data = {'YearsExperience': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        'Salary': [40000, 45000, 50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000]}

df = pd.DataFrame(data)

# স্বাধীন এবং নির্ভরশীল ভেরিয়েবল নির্ধারণ
X = df[['YearsExperience']]  # স্বাধীন ভেরিয়েবল
y = df['Salary']  # নির্ভরশীল ভেরিয়েবল

# ডেটা ট্রেনিং এবং টেস্টিং সেটে ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# মডেল তৈরি এবং প্রশিক্ষণ
model = LinearRegression()
model.fit(X_train, y_train)

# মডেল মূল্যায়ন
predictions = model.predict(X_test)

# ফলাফল দেখানো
plt.scatter(X_test, y_test, color='blue')
plt.plot(X_test, predictions, color='red')
plt.title('Multiple Linear Regression - Salary Prediction')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()

# মডেলের কোঅফিসিয়েন্ট ও ইনটারসেপ্ট
print(f'Intercept: {model.intercept_}')
print(f'Coefficient: {model.coef_}')

ব্যাখ্যা:

  • এখানে একটি সিম্পল Multiple Linear Regression মডেল তৈরি করা হয়েছে যেখানে YearsExperience (স্বাধীন ভেরিয়েবল) এর ভিত্তিতে Salary (নির্ভরশীল ভেরিয়েবল) পূর্বাভাস করা হয়েছে।
  • LinearRegression() ফাংশন ব্যবহার করে মডেল ট্রেনিং করা হয়েছে এবং টেস্ট ডেটাতে ভবিষ্যদ্বাণী করা হয়েছে।

২. Polynomial Linear Regression

Polynomial Linear Regression হলো একটি রিগ্রেশন মডেল যেখানে এক বা একাধিক বৈশিষ্ট্য (independent variable) কে পাওয়ার ফাংশনে রূপান্তর করা হয় (যেমন X2,X3,X^2, X^3, \dots)। এটি সাধারণত non-linear সম্পর্কগুলির জন্য ব্যবহৃত হয় যেখানে বৈশিষ্ট্য এবং লক্ষ্য ভেরিয়েবলের মধ্যে সোজা সম্পর্ক নেই।

মডেল:

Polynomial Regression সাধারণত নিম্নলিখিত রূপে হয়:

Y=β0+β1X+β2X2++βnXn+ϵY = \beta_0 + \beta_1 X + \beta_2 X^2 + \dots + \beta_n X^n + \epsilon

এখানে:

  • X2,X3,,XnX^2, X^3, \dots, X^n হলো পলিনোমিয়াল বৈশিষ্ট্য।

উদাহরণ: Polynomial Linear Regression

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
import matplotlib.pyplot as plt

# উদাহরণ ডেটাসেট
data = {'YearsExperience': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
        'Salary': [40000, 45000, 50000, 55000, 60000, 65000, 70000, 75000, 80000, 85000]}

df = pd.DataFrame(data)

# স্বাধীন এবং নির্ভরশীল ভেরিয়েবল নির্ধারণ
X = df[['YearsExperience']]  # স্বাধীন ভেরিয়েবল
y = df['Salary']  # নির্ভরশীল ভেরিয়েবল

# ডেটা ট্রেনিং এবং টেস্টিং সেটে ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Polynomial Features তৈরি করা (2nd degree polynomial)
poly = PolynomialFeatures(degree=2)
X_poly = poly.fit_transform(X_train)

# মডেল তৈরি এবং প্রশিক্ষণ
model = LinearRegression()
model.fit(X_poly, y_train)

# Polynomial regression এর জন্য prediction
X_poly_test = poly.transform(X_test)
predictions_poly = model.predict(X_poly_test)

# ফলাফল দেখানো
plt.scatter(X_test, y_test, color='blue')
plt.plot(X_test, predictions_poly, color='red')
plt.title('Polynomial Linear Regression - Salary Prediction')
plt.xlabel('Years of Experience')
plt.ylabel('Salary')
plt.show()

# মডেলের কোঅফিসিয়েন্ট ও ইনটারসেপ্ট
print(f'Intercept: {model.intercept_}')
print(f'Coefficient: {model.coef_}')

ব্যাখ্যা:

  • এখানে PolynomialFeatures() ব্যবহার করে 2nd-degree পলিনোমিয়াল তৈরি করা হয়েছে, অর্থাৎ X2X^2 এর উপর ভিত্তি করে পলিনোমিয়াল মডেল তৈরি করা হয়েছে।
  • LinearRegression() ফাংশন ব্যবহার করে পলিনোমিয়াল মডেল ট্রেনিং এবং টেস্ট ডেটাতে পূর্বাভাস করা হয়েছে।

সারাংশ

  • Multiple Linear Regression একটি সাধারণ রিগ্রেশন মডেল যেখানে একাধিক স্বাধীন ভেরিয়েবল ব্যবহার করা হয় নির্ভরশীল ভেরিয়েবলের পূর্বাভাস দিতে।
  • Polynomial Linear Regression হল একটি উন্নত রিগ্রেশন মডেল, যেখানে এক বা একাধিক বৈশিষ্ট্যকে পলিনোমিয়াল ফাংশনে রূপান্তর করা হয়, যা non-linear সম্পর্কের জন্য উপযুক্ত।

এই মডেলগুলির সাহায্যে আপনি বিভিন্ন ধরনের ডেটা বিশ্লেষণ এবং ভবিষ্যদ্বাণী করতে পারেন।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...