ভূমিকা
আমরা যখন ডেটা নিয়ে কাজ করি—যেমন কোনো ব্যবসার হিসাব বা কোনো মডেল তৈরির জন্য—তখন সব ডেটা সুন্দর বা গোছানো থাকে না। এই ডেটাকে কাজের উপযোগী করার প্রক্রিয়াকেই বলা হয় ফিচার ইঞ্জিনিয়ারিং (Feature Engineering)। এটি ডেটা সায়েন্স এবং মেশিন লার্নিং-এর জগতে খুবই গুরুত্বপূর্ণ একটি ধাপ। সহজ কথায়, কাঁচা ডেটা (Raw Data) থেকে কাজের জিনিস খুঁজে বের করা এবং সেটিকে সাজিয়ে তোলার নামই হলো ফিচার ইঞ্জিনিয়ারিং।
১. ডেটা ক্লিনিং কেন জরুরি?
[ভিডিও রেফারেন্স: https://www.youtube.com/watch?v=pYVScuY-GPk (00:00:21 - 00:01:03)]
ডেটা সায়েন্টিস্টদের কাজের বড় একটা অংশ যায় ডেটা পরিষ্কার করতে। আসল পৃথিবীর ডেটা অনেক সময় এলোমেলো থাকে। যদি ডেটা পরিষ্কার না থাকে, তবে মেশিন লার্নিং মডেল ঠিকঠাক কাজ করবে না।
সহজ ব্যাখ্যা: ধরুন আপনি খিচুড়ি রান্না করবেন। কিন্তু চালের মধ্যে অনেক পাথর আর ধুলোবালি আছে। আপনি সরাসরি সেগুলো রান্না করতে পারবেন না, আগে আপনাকে চাল পরিষ্কার করে পাথর বেছে নিতে হবে। ডেটা ক্লিনিং ঠিক সেই চাল পরিষ্কার করার মতোই একটি কাজ।
২. ফিচার ইঞ্জিনিয়ারিংয়ের প্রয়োগ ও কৌশল
[ভিডিও রেফারেন্স: https://www.youtube.com/watch?v=pYVScuY-GPk (00:01:10 - 00:04:04)]
ফিচার ইঞ্জিনিয়ারিংয়ের মাধ্যমে আমরা ডেটা থেকে দরকারি তথ্য বের করি। ভিডিওতে তিনটি প্রধান কৌশলের কথা বলা হয়েছে:
-
আউটলায়ার ডিটেকশন (Outlier Detection): ধরুন, ব্যাঙ্গালোরের বাড়ির দামের ডেটা বিশ্লেষণ করছেন। হঠাৎ দেখলেন একটা বাড়ির দাম খুব অদ্ভুত কম, যা বাস্তবসম্মত নয়। একে বলে আউটলায়ার। অর্থাৎ, যে ডেটা সাধারণ সীমার বাইরে থাকে। এটি গাণিতিক উপায় বা চার্ট দেখে খুঁজে বের করা যায়।
-
মিসিং ভ্যালু পূরণ (Handling Missing Values): অনেক সময় ডেটার মাঝখান থেকে কিছু তথ্য গায়েব থাকে। সেই খালি জায়গাগুলোতে গড় (Average) বা মিডিয়ান (Median) মান বসিয়ে ডেটা পূর্ণ করা হয়।
-
ওয়ান হট এনকোডিং (One-Hot Encoding): মেশিন লার্নিং মডেল সাধারণত টেক্সট (যেমন- শহরের নাম) বোঝে না, সে শুধু সংখ্যা বোঝে। তাই টেক্সট ডেটাকে সংখ্যায় রূপান্তর করাই হলো ওয়ান হট এনকোডিং।
কঠিন শব্দের সহজ মানে:
-
ফিচার (Feature): ডেটার এক একটি কলাম বা বৈশিষ্ট্য (যেমন- বাড়ির সাইজ, বেডরুমের সংখ্যা)।
-
আউটলায়ার (Outlier): অদ্ভুত বা অস্বাভাবিক ডেটা যা মূল তালিকার সাথে মেলে না।
৩. কোডিংয়ের মাধ্যমে ওয়ান হট এনকোডিং (উদাহরণ)
মেশিন লার্নিং মডেল টেক্সট বোঝে না, তাই আমাদের এমন কোড লিখতে হয়:
Python
import pandas as pd
# ধরুন আমাদের কাছে শহরের নাম আছে
df = pd.DataFrame({'town': ['monroe', 'windsor', 'monroe']})
# ওয়ান হট এনকোডিং করা হচ্ছে
dummies = pd.get_dummies(df['town'])
print(dummies)
ব্যাখ্যা: এখানে get_dummies ফাংশনটি 'monroe', 'windsor'-এর মতো নামগুলোকে ০ এবং ১ এর কলামে ভাগ করে দেয়। এতে মডেল সহজে বুঝতে পারে কোন ডেটাটি কোন ক্যাটাগরির।
বিশ্লেষণ ও আমাদের চিন্তা
ভিডিওটির মূল উদ্দেশ্য হলো ফিচার ইঞ্জিনিয়ারিংয়ের প্রয়োজনীয়তা বোঝানো। বর্তমান যুগে প্রচুর ডেটা রয়েছে, কিন্তু সেই ডেটা থেকে সঠিক সিদ্ধান্ত নিতে হলে তাকে প্রক্রিয়াজাত করা বাধ্যতামূলক।
আমার মতামত:
-
বাস্তবতা: সব সময় ম্যানুয়াল পদ্ধতিতে (যেমন- নিজের বুদ্ধিতে কলাম বানানো) ফিচার ইঞ্জিনিয়ারিং করা সম্ভব নয়। তাই এখনকার আধুনিক মডেলে (যেমন- নিউরাল নেটওয়ার্ক) অনেক সময় ফিচার নিজে থেকেই ডিটেক্ট হয়।
-
পরামর্শ: শুরুতে ম্যানুয়াল পদ্ধতিগুলো শেখা জরুরি, কারণ এতে ডেটার ওপর আপনার দখল বা বোঝাপড়া বাড়বে। তারপর ধীরে ধীরে অটোমেটেড টুলের দিকে যাওয়া উচিত।
এটি একটি চমৎকার শুরু যা একজন বিগিনারকে ডেটা সায়েন্সের সবচেয়ে বাস্তবধর্মী দিকটি সম্পর্কে পরিষ্কার ধারণা দেয়।
[
What is feature engineering | Feature Engineering Tutorial Python # 1
codebasics · 193K views
](http://www.youtube.com/watch?v=pYVScuY-GPk)

মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন
আপনার সমস্যাটি কমেন্ট করে আমাদের জানান :-d