মডেল প্রেডিকশন এবং প্রেডিক্ট করা

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

312

মডেল প্রেডিকশন হল মেশিন লার্নিং মডেল ব্যবহার করে ইনপুট ডেটার উপর ভিত্তি করে আউটপুট বা ফলাফল নির্ধারণ করা। এই প্রক্রিয়ায় মডেলটি শিখে নেয় যে, কোন ইনপুটের জন্য কী আউটপুট আসবে এবং নতুন ইনপুটের জন্য পূর্বাভাস বা প্রেডিকশন তৈরি করে।

নিচে মডেল প্রেডিকশন এবং প্রেডিক্ট করার বিস্তারিত ধাপগুলো দেওয়া হলো।


1. মডেল ট্রেনিং এবং প্রেডিকশন

মডেল প্রেডিকশন করতে হলে প্রথমে একটি মডেল তৈরি করতে হবে, তারপর ডেটা ট্রেনিং করতে হবে। এর পর মডেলটি প্রেডিকশন করবে নতুন বা অজানা ডেটার উপর।

(a) মডেল তৈরি করা:

প্রথমে মডেলটি তৈরি করতে হবে, যেমন লজিস্টিক রিগ্রেশন, ডিসিশন ট্রি, সাপোর্ট ভেক্টর মেশিন (SVM) ইত্যাদি।

(b) ডেটা ট্রেনিং করা:

ট্রেনিং ডেটাসেট ব্যবহার করে মডেলটি শিখবে কিভাবে আউটপুট নির্ধারণ করতে হয়।

(c) প্রেডিকশন করা:

মডেলটি যখন প্রশিক্ষিত হয়ে যাবে, তখন এটি নতুন ডেটা ব্যবহার করে প্রেডিকশন করবে এবং আউটপুট প্রদান করবে।


উদাহরণ: Logistic Regression - মডেল ট্রেনিং এবং প্রেডিকশন

এখানে একটি সাধারণ উদাহরণ দেওয়া হলো যেখানে আমরা Logistic Regression মডেল ব্যবহার করে একটি Binary Classification সমস্যা সমাধান করব। এই উদাহরণে আমরা scikit-learn লাইব্রেরি ব্যবহার করব।

# প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করা
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# ডেটাসেট তৈরি করা (Binary Classification)
X, y = make_classification(n_samples=1000, n_features=20, n_classes=2, random_state=42)

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

# মডেল তৈরি করা
model = LogisticRegression()

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

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

# প্রেডিকশন এর সঠিকতা মূল্যায়ন
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy * 100)

ব্যাখ্যা:

  1. make_classification: একটি সিমুলেটেড ক্লাসিফিকেশন ডেটাসেট তৈরি করে, যেখানে ২০টি ফিচার এবং ২টি ক্লাস আছে।
  2. train_test_split: ডেটাসেটটি ট্রেনিং এবং টেস্ট সেটে ভাগ করে।
  3. LogisticRegression(): Logistic Regression মডেল তৈরি করে।
  4. fit(): মডেলটি ট্রেনিং ডেটাতে ফিট (শিক্ষিত) করা হয়।
  5. predict(): মডেলটি টেস্ট ডেটার উপর প্রেডিকশন করে এবং এর আউটপুট আনে।
  6. accuracy_score(): মডেলের প্রেডিকশন এবং প্রকৃত আউটপুটের মধ্যে সঠিকতার হার গণনা করে।

2. Multiclass Classification - মডেল প্রেডিকশন

যদি আপনার Multiclass Classification সমস্যা থাকে, যেমন বিভিন্ন শ্রেণী নির্বাচন করা (যেমন, কুকুর, বিড়াল, পাখি), তবে মডেলটি একইভাবে প্রেডিকশন করবে, তবে এখানে আউটপুটটি একাধিক শ্রেণী হতে পারে।

উদাহরণ: Multiclass Classification with Logistic Regression

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

# Iris ডেটাসেট লোড করা
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.2, random_state=42)

# মডেল তৈরি করা
model = LogisticRegression(max_iter=200)

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

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

# প্রেডিকশন এর সঠিকতা মূল্যায়ন
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy * 100)

ব্যাখ্যা:

  • Iris ডেটাসেট: তিনটি শ্রেণীর (ক্লাস) ডেটাসেট, যেখানে প্রতিটি ফুলের প্রকার শনাক্ত করা হয়।
  • Multiclass Classification: এখানে তিনটি সম্ভাব্য শ্রেণী রয়েছে (0, 1, 2)।
  • predict(): এটি প্রতিটি ইনপুটের জন্য শ্রেণী নির্বাচন করবে (কুকুর, বিড়াল, পাখি)।

3. প্রেডিকশন সংক্রান্ত কিছু গুরুত্বপূর্ণ বিষয়

  1. প্রেডিকশন প্রক্রিয়া:
    • fit() ফাংশন দ্বারা মডেল প্রশিক্ষিত হয়।
    • মডেলটি শিখে নেয় ইনপুট থেকে আউটপুট কিভাবে নির্ধারণ করতে হয়।
    • predict() ফাংশনটি নতুন ডেটার উপর আউটপুট বা ক্লাস প্রেডিক্ট করে।
  2. সম্ভাবনা প্রেডিকশন: কিছু মডেল, যেমন Logistic Regression বা Random Forest, predict_proba() ফাংশন দিয়ে ইনপুট ডেটার জন্য সম্ভাবনা (probability) প্রেডিক্ট করতে পারে, যেখানে আউটপুট 0 এবং 1 এর মধ্যে একটি সম্ভাবনা প্রদান করা হয়।

    উদাহরণ:

    y_prob = model.predict_proba(X_test)
    print(y_prob)
    

    এটি মডেলটির প্রেডিকশন সম্ভাবনা প্রদান করবে, যেমন একটি নির্দিষ্ট ইনপুটের জন্য 0 অথবা 1 হওয়ার সম্ভাবনা।


সারাংশ:

  • প্রেডিকশন হল মডেলটিকে ইনপুট ডেটা দেওয়ার পর সেই ইনপুটের জন্য প্রেডিক্টেড আউটপুট বা ক্লাস পাওয়া।
  • predict() ফাংশনটি আউটপুট শ্রেণী প্রেডিক্ট করে, এবং কিছু মডেল predict_proba() দিয়ে সম্ভাবনা হিসেবেও আউটপুট প্রদান করতে পারে।
Content added By
Promotion

Are you sure to start over?

Loading...