K-Nearest Neighbors (KNN) হলো একটি জনপ্রিয় সুপারভাইজড লার্নিং অ্যালগরিদম, যা ক্লাসিফিকেশন এবং রিগ্রেশন সমস্যার সমাধানে ব্যবহৃত হয়। KNN মডেলটি একটি ইনপুট পয়েন্টের জন্য তার K নিকটতম প্রতিবেশীকে খুঁজে বের করে এবং তাদের উপর ভিত্তি করে আউটপুট তৈরি করে।
এখানে, KNN মডেল ট্রেন এবং টেস্ট করার একটি সাধারণ পদ্ধতি আলোচনা করা হলো।
KNN মডেল Training এবং Testing পদ্ধতি
ধাপ ১: ডেটা প্রস্তুতি
প্রথমে, আপনাকে ডেটাসেট প্রস্তুত করতে হবে। সাধারণত, একটি ডেটাসেট দুটি ভাগে বিভক্ত করা হয়: ট্রেনিং ডেটা এবং টেস্ট ডেটা।
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_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)
ধাপ ২: KNN মডেল তৈরি
এরপর, আপনি KNN মডেল তৈরি করবেন এবং এটি ট্রেনিং ডেটা দিয়ে প্রশিক্ষণ (train) করবেন।
from sklearn.neighbors import KNeighborsClassifier
# KNN মডেল তৈরি (K=3)
knn = KNeighborsClassifier(n_neighbors=3)
# মডেল প্রশিক্ষণ
knn.fit(X_train, y_train)
এখানে, n_neighbors=3 মানে হলো মডেলটি তার নিকটতম ৩টি প্রতিবেশীর ভিত্তিতে সিদ্ধান্ত নেবে।
ধাপ ৩: মডেল টেস্ট
প্রশিক্ষণ সম্পন্ন হওয়ার পর, টেস্ট ডেটা ব্যবহার করে মডেলটির কার্যকারিতা পরীক্ষা করা হয়। এটি মডেলের সঠিকতা (accuracy) বা অন্যান্য মূল্যায়ন স্কোর বের করতে সাহায্য করে।
# মডেল পরীক্ষা করা
accuracy = knn.score(X_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")
এটি X_test এবং y_test এর সাথে মডেলটি পরীক্ষিত করে, এবং টেস্ট ডেটাতে সঠিকভাবে কতগুলো আউটপুট অনুমান করেছে তার ভিত্তিতে সঠিকতা গণনা করে।
ধাপ ৪: ভবিষ্যদ্বাণী (Prediction)
মডেল প্রশিক্ষণ এবং পরীক্ষা করা হয়ে গেলে, আপনি নতুন ডেটার উপর ভবিষ্যদ্বাণী করতে পারেন।
# নতুন ডেটার উপর ভবিষ্যদ্বাণী
new_data = [[5.0, 3.4, 1.5, 0.2]] # উদাহরণ হিসেবে একটি নতুন ইনপুট
prediction = knn.predict(new_data)
print(f"Predicted class: {prediction[0]}")
এখানে, আমরা new_data দিয়ে ভবিষ্যদ্বাণী করছি এবং মডেলটি কোন শ্রেণী (class) নির্ধারণ করেছে তা দেখাচ্ছে।
KNN মডেল ট্রেনিং এবং টেস্টের সারাংশ
- ডেটা প্রস্তুতি: ডেটা ট্রেনিং এবং টেস্ট ডেটাতে ভাগ করা।
- KNN মডেল তৈরি:
KNeighborsClassifierব্যবহার করে KNN মডেল তৈরি করা। - মডেল প্রশিক্ষণ:
fit()মেথড দিয়ে ট্রেনিং ডেটা দিয়ে মডেল প্রশিক্ষণ করা। - মডেল পরীক্ষা:
score()মেথড দিয়ে টেস্ট ডেটার উপর মডেলের কার্যকারিতা পরীক্ষা করা। - ভবিষ্যদ্বাণী:
predict()মেথড দিয়ে নতুন ডেটার উপর ভবিষ্যদ্বাণী করা।
এই পদ্ধতিটি KNN মডেল ট্রেন এবং টেস্ট করার একটি মৌলিক উদাহরণ। KNN মডেলটি সহজে কাজ করে এবং তার কর্মক্ষমতা নির্ভর করে ডেটার গুণগত মান এবং নির্বাচিত K মানের উপর।
Read more