ভূমিকা
আমরা যখন ডেটা নিয়ে কাজ করি—যেমন কোনো কোম্পানির বিক্রির হিসাব বা বাড়ির দামের তালিকা—তখন সব ডেটা সুন্দরভাবে গোছানো থাকে না। এই অগোছালো ডেটাকে পরিষ্কার করে, সেটিকে এমনভাবে তৈরি করা যাতে মেশিন লার্নিং মডেল তা থেকে সঠিক সিদ্ধান্ত নিতে পারে, এই পুরো প্রক্রিয়াকেই বলা হয় ফিচার ইঞ্জিনিয়ারিং (Feature Engineering)। সহজ কথায়, কাঁচা ডেটা (raw data) থেকে কাজের জিনিস খুঁজে বের করাই হলো ফিচার ইঞ্জিনিয়ারিং।
১. ডেটা কেন পরিষ্কার করা জরুরি?
ভিডিও রেফারেন্স: [00:00] থেকে [01:03]
আমরা যে ডেটা পাই, তা সাধারণত খুব অগোছালো (messy) থাকে। যেমন ধরুন, কোনো মানুষের বয়সের ঘরে কেউ হয়তো ভুলে লিখে ফেলেছে ‘abc’ বা কোনো জায়গায় হয়তো তথ্যই নেই। মেশিন বা কম্পিউটার কিন্তু এই ভুলগুলো বুঝতে পারে না। তাই মডেলকে শেখানোর আগে এই ডেটা পরিষ্কার করা খুব জরুরি। ডেটা সায়েন্টিস্টরা তাদের সময়ের বেশিরভাগ অংশই এই ডেটা ক্লিনিং বা পরিষ্কারের কাজে ব্যয় করেন।
সহজ ব্যাখ্যা:
-
Raw Data (কাঁচা ডেটা): অগোছালো তথ্য যা আমরা বিভিন্ন উৎস থেকে পাই।
-
Data Cleaning (ডেটা পরিষ্কার): অগোছালো তথ্য থেকে ভুলগুলো বাদ দেওয়া এবং অসম্পূর্ণ তথ্য ঠিক করা।
২. ফিচার ইঞ্জিনিয়ারিংয়ের কয়েকটি কৌশল
ভিডিও রেফারেন্স: [01:03] থেকে [04:14]
ফিচার ইঞ্জিনিয়ারিং করার সময় আমরা মূলত কয়েকটি পদ্ধতি ব্যবহার করি:
-
আউটলায়ার ডিটেকশন (Outlier Detection): ধরুন, একটা মহল্লার সব বাড়ির দাম ১ কোটি টাকার আশেপাশে, কিন্তু হঠাৎ দেখা গেল একটি বাড়ির দাম মাত্র ১০ হাজার টাকা! এটা তো ভুল বা অস্বাভাবিক। এই অস্বাভাবিক তথ্যটিকেই বলা হয় 'আউটলায়ার'। এটি ধরার জন্য আমরা গণিত, পরিসংখ্যান বা ভিজ্যুয়ালাইজেশন (চার্ট দেখা) ব্যবহার করি।
-
মিসিং ভ্যালু হ্যান্ডলিং (Handling Missing Values): অনেক সময় ডেটার কিছু ঘর ফাঁকা থাকে। তখন আমরা সেই ঘরগুলো শূন্য দিয়ে না ভরে ওই কলামের গড় (mean) বা মিডিয়ান (মধ্যমা) মান বসিয়ে পূর্ণ করি।
-
ওয়ান হট এনকোডিং (One-Hot Encoding): কম্পিউটার শুধু সংখ্যা বোঝে, লেখা বোঝে না। ধরুন, একটা জায়গায় শহরের নাম আছে ‘ঢাকা’, ‘চট্টগ্রাম’। একে কম্পিউটারের বোঝানোর জন্য আলাদা কলাম বানিয়ে ০ বা ১ হিসেবে রূপান্তর করা হয়। এটাই ওয়ান হট এনকোডিং।
সহজ ব্যাখ্যা:
-
Domain Knowledge (ডোমেইন নলেজ): কোনো নির্দিষ্ট ব্যবসা বা বিষয় সম্পর্কে আপনার বাস্তব অভিজ্ঞতা বা জ্ঞান। যেমন, প্রপার্টি ব্যবসায়ীর জানা আছে যে ঢাকার কোনো বাসার দাম ৫০০০ টাকা হওয়া অসম্ভব।
-
Outlier (আউটলায়ার): ডেটার মাঝে লুকিয়ে থাকা ভুল বা অস্বাভাবিক তথ্য।
৩. কোডিংয়ের গুরুত্ব
ভিডিও রেফারেন্স: [04:14] থেকে [05:04]
ফিচার ইঞ্জিনিয়ারিং করার জন্য আমরা সাধারণত Python-এর Pandas লাইব্রেরি ব্যবহার করি। এটি দিয়ে খুব সহজেই ডেটার ভুল খুঁজে বের করা, কলাম যোগ করা বা ডেটা বদলানো যায়। এর একটি ছোট উদাহরণ নিচে দেওয়া হলো:
Python
# এটি একটি সাধারণ উদাহরণ: মিসিং ভ্যালু ঠিক করা
import pandas as pd
# ডেটা তৈরি
data = {'Price': [100, 200, None, 400]}
df = pd.DataFrame(data)
# 'None' বা খালি জায়গায় গড় মান বসানো
df['Price'] = df['Price'].fillna(df['Price'].mean())
print(df)
কোড ব্যাখ্যা: এখানে fillna ব্যবহার করে ফাঁকা জায়গায় (None) গড় (mean) মান বসিয়ে দেওয়া হয়েছে। এর ফলে আমাদের ডেটাসেটটি এখন কাজ করার উপযোগী হয়ে গেল।
শেষ কথা: আমার বিশ্লেষণ ও চিন্তাভাবনা
মূল বার্তা: ভিডিওটি মূলত নতুনদের জন্য। লেখক বোঝাতে চেয়েছেন যে, মডেলের পারফরম্যান্স শুধু ভালো অ্যালগরিদম ব্যবহারের ওপর নির্ভর করে না, বরং আপনি ডেটাকে কতটা সুন্দরভাবে তৈরি বা ইঞ্জিনিয়ারিং করেছেন, তার ওপর অনেক কিছু নির্ভর করে।
বাস্তবতা ও পরামর্শ: বর্তমানে অনেক কিছু অটোমেটেড (Automated) হয়ে যাচ্ছে। অর্থাৎ, সফটওয়্যার নিজেই বুঝতে পারছে কোথায় ভুল আছে। তবে একজন ভালো ডেটা সায়েন্টিস্ট হওয়ার জন্য ম্যানুয়ালি এই ধাপগুলো বোঝা অত্যন্ত জরুরি। আপনি যদি সরাসরি অটোমেটেড টুলের ওপর নির্ভর করেন, তবে ডেটার ভেতরের গভীর ভুলগুলো ধরতে পারবেন না।
পরামর্শ: ১. সরাসরি মডেল তৈরির আগে ডেটা নিয়ে খেলুন (ডেটা এক্সপ্লোরেশন)। ২. পরিসংখ্যান (Statistics) নিয়ে কিছুটা ধারণা রাখুন, এটি ফিচার ইঞ্জিনিয়ারিংয়ে জাদুর মতো কাজ করে। ৩. প্র্যাকটিস করার জন্য Kaggle-এর মতো ওয়েবসাইট থেকে ছোট ছোট ডেটাসেট নিয়ে কাজ শুরু করুন।
ভিডিও লিঙ্ক: https://www.youtube.com/watch?v=pYVScuY-GPk
[
What is feature engineering | Feature Engineering Tutorial Python # 1
codebasics · 193K views
](http://www.youtube.com/watch?v=pYVScuY-GPk)

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