ফিচার স্কেলিং মেশিন লার্নিং-এ ডেটা প্রি-প্রসেসিং-র গুরুত্বপূর্ণ ধাপ। ডেটাকে নির্দিষ্ট রেঞ্জে নর্মালাইজ করতে সাহায্য করে। কখনো কখনো ক্যালকুলেশন স্পিডও বাড়ায়।
কেন দরকার? ইনপুট ডেটা কনসিস্টেন্ট ও স্ট্রাকচার্ড থাকতে হয়। সব ফিচার একই স্কেলে থাকলে প্রিডিকশন ভালো হয়। রিয়েল-ওয়ার্ল্ড ডেটা আনস্ট্রাকচার্ড ও ভিন্ন স্কেলের। নর্মালাইজেশন কলাম ভ্যালুগুলোকে একই স্কেলে আনে।
উদাহরণ (MinMaxScaler: ০ থেকে ১ রেঞ্জে)
import numpy as np
from sklearn import preprocessing
input_data = np.array([
[34.78, 31.9, -65.5],
[-16.5, 2.45, -83.5],
[0.5, -87.98, 45.62],
[5.9, 2.38, -55.82]
])
data_scaler_minmax = preprocessing.MinMaxScaler(feature_range=(0, 1))
data_scaled_minmax = data_scaler_minmax.fit_transform(input_data)
print("\nThe scaled data is:\n", data_scaled_minmax)
আউটপুট
The scaled data is [[1. 1. 0.1394052 ] [0. 0.75433767 0. ] [0.33151326 0. 1. ] [0.43681747 0.75375375 0.21437423]]
ব্যাখ্যা
- প্রয়োজনীয় প্যাকেজ ইমপোর্ট করা হয়েছে।
- Numpy দিয়ে ইনপুট ডেটা জেনারেট করা হয়েছে।
MinMaxScalerফাংশনfeature_range=(0,1)দিয়ে ডেটা স্কেল করা হয়েছে।- সকল ডেটা ০ থেকে ১ রেঞ্জে স্কেলড হয়েছে।
- স্কেলড ডেটা কনসোলে দেখানো হয়েছে।