Scikit-learn (sklearn) পাইথনের একটি লাইব্রেরি যা মেশিন লার্নিং অ্যালগরिदম বাস্তবায়নের জন্য ব্যবহৃত হয়। এটি শক্তিশালী ও স্টেবল, কারণ এটি পরিসংখ্যানিক মডেলিং করার জন্য বিশাল টুলসেট প্রদান করে। এতে ক্লাসিফিকেশন, রিগ্রেশন, ক্লাস্টারিং, ডাইমেনশনালিটি রিডাকশন ইত্যাদি অন্তর্ভুক্ত। এটি Numpy, SciPy এবং Matplotlib-এর ওপর তৈরি।
মেশিন লার্নিং অ্যালগরিদমে ইনপুট ডেটা পাস করার আগে তা ট্রেনিং ও টেস্ট ডেটাসেটে ভাগ করতে হয়। ডেটা মডেলে ফিট হলে ইনপুট ডেটাসেট এই মডেলে ট্রেন করা হয়। ট্রেনিংয়ের সময় মডেল ডেটা থেকে শিখে এবং নতুন ডেটায় জেনারালাইজ করা শিখে। টেস্ট ডেটাসেট ট্রেনিংয়ের সময় ব্যবহৃত হয় না। সকল হাইপারপ্যারামিটার টিউন ও অপ্টিমাম ওয়েট সেট হলে টেস্ট ডেটাসেট অ্যালগরিদমে দিয়ে দেখা হয় কতটা ভালোভাবে এটি নতুন ডেটায় জেনারালাইজ করতে পারছে। নিচে scikit-learn দিয়ে ডেটা স্প্লিট করার উদাহরণ দেওয়া হলো।
উদাহরণ
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
my_data = load_iris()
X = my_data.data
y = my_data.target
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=2
)
print("ট্রেনিং ডেটার ফিচার ডাইমেনশন:")
print(X_train.shape)
print("টেস্ট ডেটার ফিচার ডাইমেনশন:")
print(X_test.shape)
print("ট্রেনিং ডেটার টার্গেট ডাইমেনশন:")
print(y_train.shape)
print("টেস্ট ডেটার টার্গেট ডাইমেনশন:")
print(y_test.shape)আউটপুট
ট্রেনিং ডেটার ফিচার ডাইমেনশন: (120, 4) টেস্ট ডেটার ফিচার ডাইমেনশন: (30, 4) ট্রেনিং ডেটার টার্গেট ডাইমেনশন: (120,) টেস্ট ডেটার টার্গেট ডাইমেনশন: (30,)
ব্যাখ্যা
- প্রয়োজনীয় প্যাকেজগুলো ইম্পোর্ট করা হয়েছে।
- আইরিস ডেটাসেট এনভায়রনমেন্টে লোড করা হয়েছে।
- ফিচার ও টার্গেট মান ডেটাসেট থেকে পৃথক করা হয়েছে।
- ট্রেনিং ও টেস্ট ডেটা ৮০:২০ অনুপাতে ভাগ করা হয়েছে।
- অর্থাৎ ২০% ডেটা মডেলের জেনারালাইজেশন যাচাইতে ব্যবহৃত হবে।
- স্প্লিটগুলো ও ডেটার ডাইমেনশন কনসোলে প্রিন্ট করা হয়েছে।