মেশিন লার্নিংয়ের দুনিয়ায় ডেটা বা তথ্য হচ্ছে আসল জ্বালানি। কিন্তু কাঁচা ডেটা সরাসরি মেশিনে দিলে সেটি সব সময় সঠিক ফল দেয় না। এই ভিডিওর নির্দিষ্ট অংশে (৩০:৫৭ থেকে ৪৪:৪৩) মূলত শেখানো হয়েছে কীভাবে এলোমেলো ডেটাকে গুছিয়ে অ্যালগরিদমের জন্য উপযোগী করে তোলা যায়। সহজ ভাষায় বলতে গেলে, রান্না করার আগে যেমন সবজি ধুয়ে-কেটে পরিষ্কার করতে হয়, ডেটা প্রি-প্রসেসিং ঠিক তেমনই একটি কাজ।
১. ডেটা ভিজ্যুয়ালাইজেশন (Data Visualization)
রেফারেন্স: [32:15]
মেশিনকে কিছু শেখানোর আগে আমাদের নিজেদের বুঝতে হয় ডেটাগুলো দেখতে কেমন। ভিডিওতে Histogram (এক ধরণের গ্রাফ) ব্যবহার করে দেখানো হয়েছে কীভাবে গামা (Gamma) এবং হ্যাড্রন (Hadron) নামক কণাগুলোর বৈশিষ্ট্য আলাদা করা যায়।
-
সহজ ব্যাখ্যা: ধরুন আপনার কাছে অনেকগুলো আপেল আর কমলা আছে। আপনি যদি এগুলোর ওজনের একটি গ্রাফ তৈরি করেন, তবে দেখবেন আপেলগুলো একপাশে আর কমলাগুলো অন্যপাশে জমা হচ্ছে। এটাই ভিজ্যুয়ালাইজেশন।
-
কেন দরকার? ডেটার মধ্যে কোনো প্যাটার্ন বা মিল আছে কি না তা দেখার জন্য এটি খুব জরুরি।
২. ডেটা স্কেলিং বা স্ট্যান্ডার্ডাইজেশন (Standard Scaling)
রেফারেন্স: [37:38]
ভিডিওর এই অংশটি খুবই গুরুত্বপূর্ণ। আমাদের ডেটাসেটে একেকটা কলামের মান একেক রকম হতে পারে। যেমন- কোনোটির মান হয়তো ০ থেকে ১-এর মধ্যে, আবার কোনোটির মান ১০০০ থেকে ৫০০০। মেশিন লার্নিং মডেল এতে বিভ্রান্ত হতে পারে (সে বড় সংখ্যাকে বেশি গুরুত্ব দিয়ে ফেলতে পারে)।
- সহজ ব্যাখ্যা: ধরুন আপনি একজনের উচ্চতা মাপছেন ফুটে (৫.৫ ফুট) আর ওজন মাপছেন গ্রামে (৬৫০০০ গ্রাম)। এখানে সংখ্যাগতভাবে ওজন অনেক বড় মনে হচ্ছে, কিন্তু আসলে দুটোর গুরুত্বই সমান। Standard Scaler ব্যবহার করে সব সংখ্যাকে একটি নির্দিষ্ট সীমার মধ্যে (যেমন -১ থেকে +১) নিয়ে আসা হয় যাতে মেশিন সবাইকে সমান গুরুত্ব দেয়।
কোড স্নিপেট (Python):
Python
from sklearn.preprocessing import StandardScaler
# স্কেলার অবজেক্ট তৈরি করা
scaler = StandardScaler()
# ডেটাকে স্কেল বা ফিট করা
x_scaled = scaler.fit_transform(X)
ব্যাখ্যা: এখানে StandardScaler হলো একটি টুল যা ডেটার গড় (Mean) শূন্য করে দেয়। fit_transform ফাংশনটি ডেটা থেকে হিসাব-নিকাশ করে সেগুলোকে ছোট বা বড় করে একটি ব্যালেন্সড অবস্থায় নিয়ে আসে।
৩. ডেটা স্প্লিটিং বা ভাগ করা (Training, Validation, and Test Sets)
রেফারেন্স: [36:00]
আমরা সব ডেটা দিয়ে মেশিনকে শেখাই না। ভিডিওতে ডেটাকে তিনটি ভাগে ভাগ করার কথা বলা হয়েছে:
-
Training Set: যা দিয়ে মেশিনকে পড়াশোনা করানো হয়।
-
Validation Set: পড়াশোনার মাঝে ছোটখাটো পরীক্ষা নেওয়ার জন্য।
-
Test Set: একবারে শেষে আসল পরীক্ষা নেওয়ার জন্য, যা দিয়ে বোঝা যাবে মেশিন নতুন কোনো তথ্য চিনতে পারছে কি না।
কঠিন শব্দের সহজ ব্যাখ্যা:
-
Histogram (হিস্টোগ্রাম): এটি একটি বার চার্ট বা গ্রাফ যা দেখায় কোনো একটি নির্দিষ্ট মান কতবার আছে।
-
Normalization (নরমালাইজেশন): বিভিন্ন সাইজের বা মানের ডেটাকে একটি সাধারণ মাপে নিয়ে আসা।
-
Feature (ফিচার): ডেটার একেকটি বৈশিষ্ট্য (যেমন- কোনো বস্তুর দৈর্ঘ্য, প্রস্থ বা রং)।
-
Label (লেবেল): আমরা যা প্রেডিক্ট বা ভবিষ্যৎবাণী করতে চাই (যেমন- বস্তুটি কি গামা না হ্যাড্রন)।
বিশ্লেষণ ও আমার মতামত
কন্টেন্ট ক্রিয়েটর কী বোঝাতে চেয়েছেন? ভিডিও নির্মাতা কাইলি ইয়াং (Kylie Ying) মূলত বোঝাতে চেয়েছেন যে, একটি ভালো মেশিন লার্নিং মডেলের সাফল্যের ৮০% নির্ভর করে ডেটা কতটা ভালোভবে প্রসেস করা হয়েছে তার ওপর। আপনি যত দামি অ্যালগরিদমই ব্যবহার করেন না কেন, ডেটা যদি স্কেল করা বা পরিষ্কার না থাকে, তবে আউটপুট ভুল আসবে।
বাস্তবতা ও সম্ভাবনা: বাস্তব জীবনে আমরা যখন আবহাওয়া বা শেয়ার বাজারের ডেটা নিয়ে কাজ করি, তখন প্রচুর 'Missing Value' বা ভুল তথ্য থাকে। ভিডিওতে দেখানো StandardScaler ব্যবহার করা একটি স্ট্যান্ডার্ড প্র্যাকটিস যা মডেলের গতি বাড়ায়।
বিকল্প ও পরামর্শ:
-
বিকল্প:
StandardScalerছাড়াওMinMaxScalerব্যবহার করা যায় যদি আপনার ডেটা কোনো নির্দিষ্ট বাউন্ডারি (যেমন ০ থেকে ১) এর মধ্যে রাখার দরকার হয়। -
পরামর্শ: শুরুতে সবসময় ডেটা ভিজ্যুয়ালাইজ করুন। ডেটা না দেখে সরাসরি কোডিং শুরু করলে অনেক ভুল থেকে যাওয়ার সম্ভাবনা থাকে। ট্যাক্সোনমি বা শ্রেণিবিভাগের ক্ষেত্রে সবসময় নজর রাখা উচিত যাতে 'Data Leakage' (টেস্ট ডেটা ভুলে ট্রেনিংয়ে চলে যাওয়া) না হয়।
সব মিলিয়ে, নতুনদের জন্য এই ভিডিওটি ডেটা সায়েন্সের হাতেখড়ির জন্য একটি চমৎকার রিসোর্স। সংশ্লিষ্ট ইউটিউব ভিডিওর ইউআরএল: https://youtu.be/i_LwzRVP7bg?t=1857
[
Machine Learning for Everybody – Full Course
freeCodeCamp.org · 9.4M views
](http://www.youtube.com/watch?v=i_LwzRVP7bg)

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