Logistic Regression একটি মেশিন লার্নিং অ্যালগরিদম যা মূলত ক্লাসিফিকেশন সমস্যার জন্য ব্যবহৃত হয়। এটি বাইনারি ক্লাসিফিকেশন (যেমন, হ্যাঁ/না, ০/১) বা মাল্টিক্লাস ক্লাসিফিকেশন (যেমন, একাধিক শ্রেণী নির্বাচন) সমস্যার সমাধান করতে সক্ষম। Logistic Regression ডেটার উপর ভিত্তি করে একটি লজিস্টিক সিগময়েড ফাংশন ব্যবহার করে সম্ভাবনা হিসাব করে, যা পরে একটি ক্লাস বা ক্যাটাগরি চয়ন করতে সহায়ক হয়।
Logistic Regression এর মূল বৈশিষ্ট্য:
- এটি একটি লিনিয়ার ক্লাসিফায়ার। অর্থাৎ এটি ডেটার শ্রেণী নির্ধারণ করতে লিনিয়ার সম্পর্ক ব্যবহার করে।
- তবে, এটি সিগময়েড ফাংশন ব্যবহার করে ফলাফলকে ০ থেকে ১ এর মধ্যে সীমাবদ্ধ রাখে, যা ক্লাসিফিকেশন সমস্যায় সহায়ক।
Logistic Regression কীভাবে কাজ করে?
Logistic Regression একটি সিগময়েড (sigmoid) ফাংশন ব্যবহার করে যেটি একটি সোজা রেখার সমীকরণকে আউটপুটের সম্ভাবনা (probability) ফর্ম্যাটে রূপান্তরিত করে। সিগময়েড ফাংশনটি ০ থেকে ১ এর মধ্যে একটি মান প্রদান করে, যা মূলত ক্লাস ১ অথবা ক্লাস ০ হিসেবে চিহ্নিত করা হয়।
Logistic Regression Formula:
Logistic Regression-এ ব্যবহৃত sigmoid function এর গাণিতিক রূপ:
যেখানে,
- z: লিনিয়ার কম্বিনেশন (বা স্কোর), যা হল
- e: ন্যাচারাল লগারিদমের ভিত্তি (প্রায় ২.৭১৮)
Sigmoid Function:
সিগময়েড ফাংশন হল একটি লজিস্টিক ফাংশন যা ০ থেকে ১ এর মধ্যে আউটপুট প্রদান করে।
Logistic Regression এর ব্যবহার ক্ষেত্র:
১. বাইনরি ক্লাসিফিকেশন (Binary Classification)
Logistic Regression সবচেয়ে বেশি ব্যবহৃত হয় বাইনরি ক্লাসিফিকেশন সমস্যা সমাধানে, যেখানে দুইটি ক্যাটাগরি থাকে। যেমন, ইমেইল স্প্যাম শনাক্তকরণ, রোগী সুস্থ কিনা বা অন্য রোগে আক্রান্ত কিনা ইত্যাদি।
উদাহরণ:
- স্প্যাম বা নন-স্প্যাম ইমেইল শনাক্তকরণ: একটি ইমেইল স্প্যাম কিনা তা পূর্বাভাস দিতে ব্যবহার করা যায়।
- ডিফল্ট হওয়া: ঋণগ্রহীতা দেউলিয়া হবে কিনা সেটা পূর্বাভাস দিতে ব্যবহার করা হয়।
উদাহরণ কোড (Python):
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# ডেটাসেট লোড করা
data = load_breast_cancer()
X = data.data
y = data.target
# ডেটা ট্রেনিং এবং টেস্টিং সেটে ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
# Logistic Regression মডেল তৈরি করা
model = LogisticRegression(max_iter=10000)
model.fit(X_train, y_train)
# পূর্বাভাস করা
y_pred = model.predict(X_test)
# সঠিকতা (accuracy) নির্ণয় করা
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
২. মাল্টিক্লাস ক্লাসিফিকেশন (Multiclass Classification)
যখন আপনার আউটপুট ক্যাটাগরি দুইটির বেশি থাকে, তখন Logistic Regression-কে মাল্টিক্লাস ক্লাসিফিকেশনের জন্যও ব্যবহার করা যেতে পারে। এখানে, one-vs-rest বা one-vs-one পদ্ধতি ব্যবহার করা হয়।
উদাহরণ:
- ডিজিট চিহ্নিতকরণ: Handwritten digits recognition (যেমন MNIST dataset)।
- বিভিন্ন প্রজাতির ফুল চিহ্নিতকরণ: Iris dataset-এ বিভিন্ন ধরনের ফুলের শ্রেণী চিহ্নিতকরণ।
উদাহরণ কোড (Python):
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
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)
# Logistic Regression মডেল তৈরি করা
model = LogisticRegression(max_iter=10000)
model.fit(X_train, y_train)
# পূর্বাভাস করা
y_pred = model.predict(X_test)
# সঠিকতা (accuracy) নির্ণয় করা
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
৩. সিকুয়েন্সের আউটপুট (Sequence Output)
Logistic Regression আউটপুট হিসেবে প্রবাবিলিটি প্রদান করে, যা তখন বিভিন্ন ক্লাসে রূপান্তরিত হয়। এই প্রবাবিলিটি ব্যবহার করে decision threshold নির্ধারণ করা যেতে পারে, যেমন, 0.5 বা অন্য কোনো মানের উপর ভিত্তি করে।
৪. বায়াস এবং বৈশিষ্ট্য বিশ্লেষণ (Bias and Feature Analysis)
Logistic Regression মডেল সাধারণত আপনার বৈশিষ্ট্যগুলো এবং তাদের সম্পর্কের সাথে সিদ্ধান্ত নেয়। এটি coefficients বা weights প্রদান করে, যা প্রতিটি বৈশিষ্ট্যের গুরুত্ব নির্দেশ করে। আপনি মডেলের এই ওজন বিশ্লেষণ করতে পারেন।
৫. চিকিৎসা এবং স্বাস্থ্যসেবা (Healthcare)
Logistic Regression স্বাস্থ্যসেবায় রোগী ডায়াগনোসিস, ক্যান্সার শনাক্তকরণ, হার্ট ডিজিজের পূর্বাভাস, ইত্যাদির জন্য ব্যবহার করা হয়। এটি রোগীকে ২টি ক্যাটাগরিতে বিভক্ত করতে সাহায্য করতে পারে: স্বাস্থ্যবান এবং অসুস্থ।
৬. অর্থনীতি এবং ব্যবসা (Finance and Business)
Logistic Regression ক্রেডিট স্কোরিং, বিলিং চিহ্নিতকরণ, ঝুঁকি বিশ্লেষণ ইত্যাদিতে ব্যবহৃত হয়। এটি একটি গুরুত্বপূর্ণ অ্যালগরিদম যেটি বিভিন্ন ফিনান্সিয়াল ডেটা বিশ্লেষণ করতে ব্যবহৃত হয়।
৭. মার্কেটিং এবং বিজ্ঞাপন (Marketing and Advertising)
Logistic Regression গ্রাহক চাহিদা পূর্বাভাস, চুয়ার্ন প্রেডিকশন, গ্রাহক শ্রেণীবিভাগ এবং বিজ্ঞাপন কনভার্সন রেট বিশ্লেষণ করার জন্য ব্যবহার করা হয়।
সারাংশ
Logistic Regression একটি শক্তিশালী মেশিন লার্নিং অ্যালগরিদম যা ক্লাসিফিকেশন সমস্যার সমাধানে ব্যবহৃত হয়। এটি বাইনারি এবং মাল্টিক্লাস ক্লাসিফিকেশন উভয় ক্ষেত্রেই কার্যকরী। বিভিন্ন ক্ষেত্রে যেমন স্বাস্থ্যসেবা, অর্থনীতি, ব্যবসা, বিজ্ঞাপন ইত্যাদিতে এটি ব্যাপকভাবে ব্যবহৃত হয়। Logistic Regression ব্যবহারে প্রবাবিলিটি নির্ধারণ করা সম্ভব, যা গ্রাহক চিহ্নিতকরণ এবং ডেটা বিশ্লেষণে সহায়ক হয়।
Read more