ডেটা প্রি-প্রসেসিং বলতে ডেটা পরিশোধ, অবৈধ ডেটা, নয়েজ সরিয়ে ফেলা, প্রাসঙ্গিক মান দিয়ে ডেটা প্রতিস্থাপন ইত্যাদি বোঝায়। এটি শুধু টেক্সট ডেটা নয়, ছবি বা ভিডিও প্রসেসিংও হতে পারে। এটি মেশিন লার্নিং পাইপলাইনের একটি গুরুত্বপূর্ণ ধাপ।
ডেটা প্রি-প্রসেসিং মূলত বিভিন্ন স্রোত থেকে সংগৃহীত সকল ডেটাকে একটি সাধারণ ফরম্যাটে বা ইউনিফর্ম ডেটাসেটে রূপান্তর করার কাজ (ডেটার টাইপের ওপর নির্ভর করে)। এটি इसलिये করা হয় যাতে লার্নিং অ্যালগরিদম এই ডেটাসেট থেকে শিখে এবং হাই একুরেসির সাথে প্রাসঙ্গিক ফলাফল দেয়। যেহেতু রিয়েল-ওয়ার্ল্ড ডেটা কখনো আদর্শ হয় না, তাই ডেটাতে মিসিং সেল, এরর, আউটলায়ার, কলামে ডিসক্রেপ্যান্সি ইত্যাদি থাকতে পারে। কখনো ছবি সঠিকভাবে এলাইনড নাও হতে পারে, বা অস্পষ্ট বা খুব বড় আকারের হতে পারে। প্রি-প্রসেসিংয়ের লক্ষ্য হলো এই ডিসক্রেপ্যান্সি ও এরর দূর করা। ডেটা প্রি-প্রসেসিং একক টাস্ক নয়, বরং ধাপে ধাপে করা টাস্কের একটি সেট। একটি ধাপের আউটপুট পরবর্তী ধাপের ইনপুট হয়ে যায়।
নিচে সংখ্যাত্মক মান বুলিয়ান মানেই রূপান্তর করার উদাহরণ দেওয়া হলো:
উদাহরণ
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_binarized = preprocessing.Binarizer(threshold=0.5).transform(input_data)
print("\nসংখ্যাত্মক মান বুলিয়ানে রূপান্তর:\n", data_binarized)আউটপুট
সংখ্যাত্মক মান বুলিয়ানে রূপান্তর: [[1. 1. 0.] [0. 1. 0.] [0. 0. 1.] [1. 1. 0.]]
ব্যাখ্যা
- প্রয়োজনীয় প্যাকেজগুলো ইম্পোর্ট করা হয়েছে।
- Numpy লাইব্রেরি ব্যবহার করে ইনপুট ডেটা তৈরি করা হয়েছে।
- sklearn-এর
preprocessingক্লাসেরBinarizerফাংশন ব্যবহার করে সংখ্যাত্মক মান বুলিয়ান মান (১ ও ০) এ রূপান্তর করা হয়েছে। - রূপান্তরিত ডেটা কনসোলে প্রিন্ট করা হয়েছে।