মেশিন লার্নিং প্রজেক্ট উদাহরণ (Classification, Regression)

বাস্তব উদাহরণ এবং প্রজেক্ট ডেমো - পাইথন দিয়ে মেশিন লার্নিং (Machine Learning with Python) - Machine Learning

251

মেশিন লার্নিং প্রজেক্টের মাধ্যমে আপনি বাস্তব সমস্যার সমাধান করতে পারেন। এখানে দুটি উদাহরণ দেওয়া হলো: একটি Classification সমস্যা এবং একটি Regression সমস্যা।

১. Classification Problem: ইমেইল স্প্যাম ডিটেকশন

Goal: একটি মেশিন লার্নিং মডেল তৈরি করা, যা ইমেইলগুলিকে স্প্যাম (Spam) বা নন-স্প্যাম (Non-Spam) শ্রেণীতে বিভক্ত করবে।

Steps:

  1. ডেটাসেট:
    • আমাদের ডেটাসেটটি ইমেইলসের বিষয়বস্তু এবং ট্যাগ সহ হবে (স্প্যাম বা নন-স্প্যাম)।
    • sklearn.datasets.fetch_20newsgroups বা Enron dataset ব্যবহার করা যেতে পারে।
  2. ডেটা প্রক্রিয়াকরণ:
    • টেক্সট ডেটার জন্য CountVectorizer বা TF-IDF ব্যবহার করে ফিচার তৈরি করা হবে।
    • শব্দের গতি এবং প্রাসঙ্গিকতা বুঝে, ফিচার নির্বাচিত করা হবে।
  3. মডেল তৈরি:
    • Naive Bayes বা Logistic Regression ক্লাসিফিকেশন অ্যালগরিদম ব্যবহার করা যেতে পারে।
    • মডেলটি স্প্যাম এবং নন-স্প্যাম ইমেইল শনাক্ত করতে প্রশিক্ষিত হবে।

উদাহরণ কোড:

from sklearn.datasets import fetch_20newsgroups
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score, confusion_matrix

# ডেটাসেট লোড করা
newsgroups = fetch_20newsgroups(subset='train', categories=['rec.sport.baseball', 'soc.religion.christian'])

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

# CountVectorizer ব্যবহার করে টেক্সট ভেক্টরাইজেশন
vectorizer = CountVectorizer(stop_words='english')
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)

# Naive Bayes মডেল তৈরি করা
model = MultinomialNB()
model.fit(X_train_vec, y_train)

# মডেল মূল্যায়ন
y_pred = model.predict(X_test_vec)
accuracy = accuracy_score(y_test, y_pred)
cm = confusion_matrix(y_test, y_pred)

print("Accuracy:", accuracy)
print("Confusion Matrix:\n", cm)

২. Regression Problem: বাড়ির দাম পূর্বানুমান

Goal: একটি মেশিন লার্নিং মডেল তৈরি করা যা বাড়ির দাম (Price) পূর্বানুমান করতে সক্ষম হবে।

Steps:

  1. ডেটাসেট:
    • এখানে একটি Boston Housing ডেটাসেট ব্যবহার করা যেতে পারে, যেখানে বিভিন্ন বৈশিষ্ট্য (ফিচার) থাকে যেমন বাড়ির সাইজ, অপরিচিত এলাকার অবস্থান, ইত্যাদি, এবং লক্ষ্য মান হল বাড়ির দাম।
  2. ডেটা প্রক্রিয়াকরণ:
    • Feature Scaling (যেমন StandardScaler) ব্যবহার করা হবে যাতে মডেলটির প্রশিক্ষণ দ্রুত হয় এবং ভিন্ন স্কেলের বৈশিষ্ট্যগুলি সমান গুরুত্বে আনা যায়।
  3. মডেল তৈরি:
    • Linear Regression বা Random Forest Regression ব্যবহার করা যেতে পারে।
    • মডেলটি প্রশিক্ষণ পাবে এবং তারপর বাড়ির দাম পূর্বানুমান করবে।

উদাহরণ কোড:

from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Boston Housing ডেটাসেট লোড করা
boston = load_boston()
X = boston.data
y = boston.target

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

# Feature Scaling (স্ট্যান্ডার্ডাইজেশন)
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

# Linear Regression মডেল তৈরি করা
model = LinearRegression()
model.fit(X_train_scaled, y_train)

# মডেল মূল্যায়ন
y_pred = model.predict(X_test_scaled)
mse = mean_squared_error(y_test, y_pred)
rmse = mse ** 0.5

print("Root Mean Squared Error (RMSE):", rmse)

৩. প্রজেক্ট বিশ্লেষণ

Classification Example (ইমেইল স্প্যাম ডিটেকশন):

  • মডেল: Naive Bayes
  • মূল্যায়ন মেট্রিক্স: Accuracy, Precision, Recall, F1-Score, Confusion Matrix
  • অফার: একটি শক্তিশালী টুল যা দ্রুত এবং কার্যকরভাবে স্প্যাম শনাক্ত করতে সক্ষম।

Regression Example (বাড়ির দাম পূর্বানুমান):

  • মডেল: Linear Regression
  • মূল্যায়ন মেট্রিক্স: RMSE (Root Mean Squared Error)
  • অফার: মডেলটি ব্যবহার করে বাড়ির দাম নির্ধারণ করা সম্ভব, যা রিয়েল এস্টেট ক্ষেত্রে অত্যন্ত কার্যকরী।

সারাংশ:

  • Classification এবং Regression হল মেশিন লার্নিং এর দুটি প্রধান সমস্যার ধরন।
  • Classification সমস্যা গুলি শ্রেণীবিভাগের (যেমন স্প্যাম ডিটেকশন) জন্য ব্যবহৃত হয়, যেখানে আউটপুট একটি নির্দিষ্ট শ্রেণীতে (যেমন 0 বা 1, স্প্যাম বা নন-স্প্যাম) বিভক্ত হয়।
  • Regression সমস্যা গুলি পূর্বানুমান (যেমন বাড়ির দাম, তাপমাত্রা) করার জন্য ব্যবহৃত হয়, যেখানে আউটপুট একটি ক্রমবর্ধমান সংখ্যা (যেমন 2000, 5.6) হয়।
  • আপনি scikit-learn লাইব্রেরি ব্যবহার করে সহজেই এই ধরনের প্রজেক্ট তৈরি এবং বিশ্লেষণ করতে পারেন।
Content added By
Promotion

Are you sure to start over?

Loading...