মেশিন লার্নিং মডেল তৈরি এবং ফিট করা হলো মডেলটিকে ডেটার উপর প্রশিক্ষণ দেওয়ার প্রক্রিয়া, যাতে এটি নতুন ডেটা থেকে সঠিক প্রেডিকশন করতে পারে। এটি সাধারণত তিনটি প্রধান ধাপে করা হয়:
- মডেল তৈরি (Model Creation)
- মডেল ফিট করা (Model Fitting)
- মডেলের মূল্যায়ন (Model Evaluation)
এখানে আমরা Python এবং scikit-learn লাইব্রেরি ব্যবহার করে একটি সাধারণ মডেল তৈরি এবং ফিট করার প্রক্রিয়া দেখাবো। উদাহরণস্বরূপ, লজিস্টিক রিগ্রেশন মডেল তৈরি করা হবে।
1. লাইব্রেরি ইমপোর্ট করা
প্রথমে আমরা প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করবো:
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, confusion_matrix
2. ডেটা লোড এবং প্রিপ্রসেসিং
এখানে আমরা একটি উদাহরণ ডেটাসেট লোড করবো এবং তা ট্রেনিং ও টেস্ট ডেটাতে ভাগ করবো। ধরুন আমাদের কাছে একটি CSV ফাইল আছে যেটি ডেটাসেট নামে সংরক্ষিত।
# ডেটা লোড করা
df = pd.read_csv('path_to_your_file.csv')
# ইনপুট ফিচার এবং আউটপুট ভ্যারিয়েবল আলাদা করা
X = df.iloc[:, :-1].values # সমস্ত কলাম ছাড়া শেষ কলাম
y = df.iloc[:, -1].values # শেষ কলাম (লেবেল)
# ডেটাকে ট্রেনিং এবং টেস্ট সেটে ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
এখানে:
train_test_splitফাংশনটি ডেটা 80% ট্রেনিং এবং 20% টেস্ট ডেটাতে ভাগ করে দেবে।
3. মডেল তৈরি (Model Creation)
এবার, আমরা একটি লজিস্টিক রিগ্রেশন মডেল তৈরি করবো:
# লজিস্টিক রিগ্রেশন মডেল তৈরি করা
model = LogisticRegression()
এখানে, LogisticRegression() একটি ক্লাস যা মডেল তৈরি করার জন্য ব্যবহৃত হয়।
4. মডেল ফিট করা (Model Fitting)
এখন মডেলটিকে ট্রেনিং ডেটার উপর ফিট করা হবে, যা মডেলটি শিখবে:
# মডেল ট্রেনিং (ফিট করা)
model.fit(X_train, y_train)
এখানে, fit() ফাংশনটি মডেলটিকে ট্রেনিং ডেটার সাথে ফিট করবে এবং মডেলটিকে প্রেডিকশন করার জন্য প্রস্তুত করবে।
5. মডেল মূল্যায়ন (Model Evaluation)
মডেল ফিট করার পর, আমরা মডেলটির কার্যকারিতা পরীক্ষা করতে পারি। মডেলটির প্রেডিকশন করতে predict() ফাংশন ব্যবহার করা হয় এবং তার পর আমরা accuracy এবং confusion matrix চেক করতে পারি।
# মডেল থেকে প্রেডিকশন করা
y_pred = model.predict(X_test)
# Accuracy চেক করা
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100}%")
# Confusion Matrix
cm = confusion_matrix(y_test, y_pred)
print("Confusion Matrix:")
print(cm)
এখানে:
accuracy_scoreফাংশনটি মডেলের সঠিকতার শতাংশ হিসাব করবে।confusion_matrixফাংশনটি মডেলের পারফরম্যান্সের বিস্তারিত দেখাবে, যেমন কিভাবে সঠিক এবং ভুল শ্রেণীভুক্ত হয়েছে।
6. সারাংশ
এই প্রক্রিয়া অনুসরণ করে, আপনি যে কোনো মেশিন লার্নিং মডেল তৈরি এবং ফিট করতে পারেন। এখানে লজিস্টিক রিগ্রেশন মডেল ব্যবহার করা হয়েছে, তবে আপনি Decision Tree, Random Forest, SVM বা অন্যান্য মডেলও ব্যবহার করতে পারেন। প্রতিটি মডেলের জন্য scikit-learn লাইব্রেরিতে একই ধরনের পদ্ধতি ব্যবহৃত হয়: মডেল তৈরি, ট্রেনিং (ফিটিং), এবং মূল্যায়ন।
Read more