মিসিং ডেটা হ্যান্ডলিং (Missing Data Handling)
মিসিং ডেটা হলো ডেটাসেটের সেই অংশ যেখানে কিছু তথ্য অনুপস্থিত থাকে। মিসিং ডেটা যেকোনো মডেল তৈরি করার সময় সমস্যা সৃষ্টি করতে পারে, তাই এর সঠিকভাবে হ্যান্ডলিং করা খুবই গুরুত্বপূর্ণ। এখানে মিসিং ডেটা হ্যান্ডলিং এর বিভিন্ন কৌশল আলোচনা করা হলো:
মিসিং ডেটা হ্যান্ডলিং এর কৌশল
- ড্রপিং মিসিং ভ্যালু (Dropping Missing Values): যদি কোনো ডেটা পয়েন্টে খুব বেশি মিসিং ভ্যালু থাকে, তাহলে সেই রো বা কলামটি সম্পূর্ণভাবে বাদ দেওয়া হতে পারে। তবে, যদি মিসিং ভ্যালুর সংখ্যা কম হয়, তাহলে এটি পুরোপুরি বাদ দেওয়া উচিত নয়।
- রো ড্রপ: যেসব রোতে মিসিং ডেটা রয়েছে, সেগুলি বাদ দেওয়া হয়।
- কলাম ড্রপ: যদি কোনো কলামে অধিকাংশ ডেটা মিসিং থাকে, তবে পুরো কলামটি বাদ দেওয়া হতে পারে।
- ইম্পুটেশন (Imputation): মিসিং ভ্যালু পূর্ণ করতে কিছু স্ট্যাটিস্টিক্যাল পদ্ধতি ব্যবহার করা হয়। সাধারণত, মিসিং ভ্যালু পূর্ণ করার জন্য নিচের পদ্ধতিগুলি ব্যবহৃত হয়:
- মিন/মিডিয়ান/মোড দিয়ে পূর্ণ করা:
- মিন: নমুনার গড় মান দ্বারা মিসিং ভ্যালু পূর্ণ করা হয়। এটি সংখ্যার ক্ষেত্রে ব্যবহৃত হয়।
- মিডিয়ান: যেকোনো আউটলায়ার (outliers) এড়াতে গড়ের পরিবর্তে মিডিয়ান ব্যবহার করা যেতে পারে।
- মোড: ক্যাটেগরিক্যাল ডেটার জন্য মোড ব্যবহার করা হয়, যা সবচেয়ে সাধারণ মান (যেমন সবচেয়ে বেশি উপস্থিত মান)।
- পেপুলেশন ইনফো (Population Information): যদি কোনো নির্দিষ্ট গ্রুপ বা শ্রেণী থাকে, তাহলে সেই শ্রেণীর বা গ্রুপের গড় বা মিডিয়ান দিয়ে মিসিং ভ্যালু পূর্ণ করা হতে পারে।
- ইন্টারপোলেশন (Interpolation): ডেটার মধ্যে একটি প্যাটার্ন সনাক্ত করে, মিসিং ভ্যালু পূর্ণ করার জন্য ইন্টারপোলেশন পদ্ধতি ব্যবহার করা হয়।
- মিন/মিডিয়ান/মোড দিয়ে পূর্ণ করা:
- মডেলিং (Modelling): কিছু অ্যালগরিদম বা মডেল মিসিং ডেটার জন্য নিজস্ব পদ্ধতি প্রদান করতে পারে। যেমন, কেসনিক নেবারস (KNN), রেগ্রেশন মডেল ইত্যাদি, যেগুলি অন্যান্য ডেটা পয়েন্ট থেকে মিসিং ভ্যালু প্রেডিক্ট করতে পারে।
ডেটা নর্মালাইজেশন (Data Normalization)
ডেটা নর্মালাইজেশন হলো একটি প্রক্রিয়া যেখানে বিভিন্ন স্কেলের ডেটা কে একই স্কেলে নিয়ে আসা হয়। এতে ডেটা সঠিকভাবে মডেলে ব্যবহৃত হতে পারে এবং অ্যালগরিদমগুলির পারফরম্যান্স উন্নত হয়। সাধারণত, মেশিন লার্নিং মডেলগুলিতে নর্মালাইজেশন প্রয়োজন, যেমন কনভোলিউশনাল নিউরাল নেটওয়ার্ক (CNN), সাপোর্ট ভেক্টর মেশিন (SVM), এবং কনটিনিউয়াস ভেরিয়েবল সম্বলিত অন্যান্য মডেলগুলিতে।
ডেটা নর্মালাইজেশন এর পদ্ধতি
মিন-ম্যাক্স স্কেলিং (Min-Max Scaling): এই পদ্ধতিতে, ডেটার মানগুলো একটি নির্দিষ্ট পরিসরে স্কেল করা হয়, যেমন [0, 1] বা [-1, 1]। এটি নিম্নলিখিত সূত্র দ্বারা করা হয়:
যেখানে:
- হলো মূল ডেটা পয়েন্ট,
- হলো ডেটার সর্বনিম্ন মান,
- হলো ডেটার সর্বাধিক মান।
স্ট্যান্ডার্ড স্কেলিং (Standard Scaling): এই পদ্ধতিতে, ডেটাকে গড় (mean) 0 এবং স্ট্যান্ডার্ড ডেভিয়েশন (standard deviation) 1 নিয়ে আসে। এটি মূলত Z-স্কোর স্কেলিং (Z-Score Scaling) নামে পরিচিত। এই পদ্ধতিতে, ডেটার প্রতিটি মানকে গড় থেকে বিয়োগ করা হয় এবং স্ট্যান্ডার্ড ডেভিয়েশন দ্বারা ভাগ করা হয়:
যেখানে:
- হলো মূল ডেটা পয়েন্ট,
- হলো ডেটার গড় মান,
- হলো ডেটার স্ট্যান্ডার্ড ডেভিয়েশন।
রবস্ট স্কেলিং (Robust Scaling): এই পদ্ধতিতে, ডেটার স্কেলিং মিডিয়ান এবং ইন্টারকুয়ার্টাইল রেঞ্জ (IQR) ব্যবহার করে করা হয়, যা আউটলায়ারদের প্রভাব কমিয়ে দেয়। এটি বিশেষত তখন ব্যবহার করা হয় যখন ডেটায় আউটলায়ার থাকে। এটি নিম্নলিখিতভাবে হিসাব করা হয়:
যেখানে IQR হলো Q3 - Q1 (ডেটার ৩য় এবং ১ম কুয়ার্টাইলের পার্থক্য)।
- লগ স্কেলিং (Log Scaling): কিছু ক্ষেত্রে, যেখানে ডেটার মান খুব বড় বা ছোট হয়, সেখানে লগ স্কেলিং ব্যবহার করা হয়, যা ডেটাকে কম্প্যাক্ট এবং প্রোপোরশনে আনে।
সারাংশ
- মিসিং ডেটা হ্যান্ডলিং: মিসিং ডেটা হ্যান্ডলিংয়ের জন্য বিভিন্ন কৌশল রয়েছে যেমন ড্রপিং মিসিং ভ্যালু, ইম্পুটেশন (মিন, মিডিয়ান, মোড), ইন্টারপোলেশন এবং মডেলিং কৌশল।
- ডেটা নর্মালাইজেশন: ডেটা নর্মালাইজেশন মডেল ট্রেনিংয়ের জন্য গুরুত্বপূর্ণ, যা ডেটাকে একটি নির্দিষ্ট স্কেলে নিয়ে আসে। এতে মিন-ম্যাক্স স্কেলিং, স্ট্যান্ডার্ড স্কেলিং, রবস্ট স্কেলিং, এবং লগ স্কেলিং পদ্ধতি অন্তর্ভুক্ত।
এই দুটি প্রক্রিয়া (মিসিং ডেটা হ্যান্ডলিং এবং ডেটা নর্মালাইজেশন) মেশিন লার্নিং মডেলগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি মডেলগুলির কার্যকারিতা এবং নির্ভুলতা উন্নত করতে সহায়ক।
Read more