🤖 Logistic Regression দিয়ে প্রথম ক্লাসিফিকেশন মডেল
গত পোস্টে আমরা লিনিয়ার রিগ্রেশন দিয়ে প্রেডিকশন করা শিখেছিলাম। এবার আমরা জানব কিভাবে Logistic Regression ব্যবহার করে কোনও ঘটনাকে হ্যাঁ/না (Yes/No) এর মতো ফলাফল দেয়া যায়।
উদাহরণস্বরূপ, ধরুন আমরা একটি ডেটাসেট পেয়েছি যেখানে ছাত্ররা কত ঘন্টা পড়াশোনা করেছে তা জানানো আছে, এবং সেটা দেখে আমরা অনুমান করব সে পরীক্ষায় পাস করবে কিনা।
📦 প্রয়োজনীয় টুলস
- Python
- scikit-learn
- numpy
- matplotlib
🎯 Goal: একজন ছাত্র কত ঘন্টা পড়েছে তা দেখে প্রেডিক্ট করা সে পরীক্ষায় পাস করবে কি না (1 = পাস, 0 = ফেল)।
🧪 কোড উদাহরণ: Logistic Regression
# Binary Classification with Logistic Regression
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
# Study hours and pass/fail (1=pass, 0=fail)
X = np.array([[1], [2], [3], [4], [5], [6], [7], [8]])
y = np.array([0, 0, 0, 0, 1, 1, 1, 1])
# Create and train the model
model = LogisticRegression()
model.fit(X, y)
# Predict outcome for a new student who studied 4.5 hours
new_data = np.array([[4.5]])
prediction = model.predict(new_data)
probability = model.predict_proba(new_data)
print(f"Prediction: {'Pass' if prediction[0]==1 else 'Fail'}")
print(f"Probability of Passing: {probability[0][1]:.2f}")
# Visualization
plt.scatter(X, y, color='blue', label='Actual Data')
x_vals = np.linspace(0, 10, 100).reshape(-1, 1)
y_probs = model.predict_proba(x_vals)[:, 1]
plt.plot(x_vals, y_probs, color='green', label='Prediction Curve')
plt.axvline(x=4.5, color='red', linestyle='--', label='New Student')
plt.xlabel('Study Hours')
plt.ylabel('Probability of Passing')
plt.title('Logistic Regression: Predicting Exam Pass Probability')
plt.legend()
plt.grid(True)
plt.show()
⚙️ রান করার আগে:
আপনার কম্পিউটারে Python থাকতে হবে এবং নিচের লাইব্রেরিগুলো ইনস্টল করতে হবে:
pip install numpy matplotlib scikit-learn
📊 আউটপুটে যা দেখতে পাবেন:
একটি গ্রাফ যেখানে একটি curve থাকবে (সবুজ রঙে), যা দেখাবে কত ঘন্টা পড়লে পরীক্ষায় পাস করার সম্ভাবনা কত। একটি নতুন ছাত্রের (৪.৫ ঘণ্টা পড়েছে) জন্য একটি লাল লাইন থাকবে।
💡 Logistic Regression Classification এর একটি চমৎকার সূচনা! ভবিষ্যতে আমরা আরো advance ক্লাসিফিকেশন শিখব যেমন Decision Trees, SVM, এবং Neural Networks.
📚 আরও জানতে:
আমার ব্লগ ICT Academy Bangladesh তে নিয়মিত নতুন নতুন মেশিন লার্নিং প্রোজেক্ট প্রকাশ করা হয়। সাবস্ক্রাইব করে রাখুন!
✍️ লেখক: Amanul Islam
📅 প্রকাশের তারিখ: ১ জুন, ২০২৫

0 মন্তব্যসমূহ