Scikit-learn এর LogisticRegression ক্লাস ব্যবহার করা

Python এ Logistic Regression মডেল তৈরি - পাইথনে লজিস্টিক রিগ্রেশন (Logistic Regression in Python) - Machine Learning

384

লজিস্টিক রিগ্রেশন একটি জনপ্রিয় এবং শক্তিশালী ক্লাসিফিকেশন অ্যালগরিদম যা সাধারণত বাইনারি ক্লাসিফিকেশন সমস্যার জন্য ব্যবহৃত হয়। Python-এ scikit-learn লাইব্রেরি ব্যবহার করে খুব সহজে একটি লজিস্টিক রিগ্রেশন মডেল তৈরি করা যায়।

নিচে একটি ধাপে ধাপে উদাহরণ দেওয়া হলো:


1. প্রয়োজনীয় লাইব্রেরি ইনস্টল করা

প্রথমে, আপনার সিস্টেমে প্রয়োজনীয় লাইব্রেরি গুলি ইনস্টল করুন। যদি আগে থেকে ইনস্টল না থাকে, তাহলে আপনি নিচের কমান্ডটি চালিয়ে scikit-learn, pandas, matplotlib ইত্যাদি লাইব্রেরি ইনস্টল করতে পারেন:

pip install numpy pandas scikit-learn matplotlib

2. লাইব্রেরি ইমপোর্ট করা

ডেটা লোড এবং মডেল তৈরি করার জন্য প্রয়োজনীয় লাইব্রেরিগুলি ইমপোর্ট করুন:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix

3. ডেটা লোড করা

এখন একটি ডেটাসেট লোড করতে হবে। এখানে আমরা উদাহরণ হিসেবে Iris ডেটাসেট ব্যবহার করছি:

# Iris ডেটাসেট লোড করা
from sklearn.datasets import load_iris
data = load_iris()

# ইনপুট ফিচার (X) এবং আউটপুট (y) আলাদা করা
X = data.data
y = data.target

# ডেটার প্রথম ৫টি রেকর্ড দেখানো
print(pd.DataFrame(X, columns=data.feature_names).head())

4. ডেটা টেস্ট এবং ট্রেনিং সেটে ভাগ করা

এখন ডেটাকে ট্রেনিং এবং টেস্ট সেটে ভাগ করা হবে। সাধারণত, ৭০%-৮০% ডেটা ট্রেনিংয়ের জন্য এবং ২০%-৩০% টেস্টের জন্য রাখা হয়।

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

5. ডেটা স্কেলিং (Optional)

লজিস্টিক রিগ্রেশন মডেলটির জন্য স্কেলিং খুবই গুরুত্বপূর্ণ, বিশেষত যখন বিভিন্ন ফিচারের স্কেল ভিন্ন হয়। StandardScaler ব্যবহার করে ডেটা স্কেল করা যাবে।

# ডেটা স্কেলিং
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

6. লজিস্টিক রিগ্রেশন মডেল ট্রেনিং

এখন লজিস্টিক রিগ্রেশন মডেল তৈরি এবং ট্রেনিং করা হবে:

# লজিস্টিক রিগ্রেশন মডেল তৈরি
model = LogisticRegression(max_iter=200)

# মডেল ট্রেনিং
model.fit(X_train, y_train)

7. প্রেডিকশন এবং মডেল মূল্যায়ন

এখন মডেলটি টেস্ট ডেটা থেকে প্রেডিকশন করবে এবং তারপর accuracy এবং confusion matrix এর মাধ্যমে মডেলটির পারফরম্যান্স মূল্যায়ন করা হবে।

# প্রেডিকশন করা
y_pred = model.predict(X_test)

# accuracy চেক করা
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100:.2f}%")

# Confusion matrix প্রিন্ট করা
cm = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(cm)

# Confusion matrix এর visualization
plt.matshow(cm, cmap='Blues')
plt.title("Confusion Matrix")
plt.colorbar()
plt.xlabel("Predicted")
plt.ylabel("True")
plt.show()

8. ফলাফল বিশ্লেষণ

  • Accuracy: এই মেট্রিকটি মডেলের সঠিকতার পরিমাণ জানায়। এটি সঠিকভাবে প্রেডিক্ট করা ক্লাসগুলির সংখ্যা (সঠিক আউটপুট) মোট ক্লাসের সংখ্যা দ্বারা ভাগ করে বের করা হয়।
  • Confusion Matrix: এটি একটি সারণী যা মডেলের পারফরম্যান্সের বিশ্লেষণ করতে সহায়ক, যেখানে আপনি দেখতে পারবেন কতটি সঠিকভাবে প্রেডিক্ট করা হয়েছে এবং কতটি ভুল হয়েছে।

9. সারাংশ

  • মডেল তৈরি: প্রথমে LogisticRegression মডেল তৈরি করে, সেটি প্রশিক্ষণ ডেটার ওপর ট্রেনিং করা হয়।
  • প্রেডিকশন: এরপর, মডেলটি টেস্ট ডেটার উপর প্রেডিকশন করে এবং accuracy, confusion matrix ব্যবহার করে মডেলটির পারফরম্যান্স মূল্যায়ন করা হয়।

এভাবে, Python এবং scikit-learn লাইব্রেরি ব্যবহার করে লজিস্টিক রিগ্রেশন মডেল তৈরি এবং মূল্যায়ন করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...