ভূমিকা
ডাটা সায়েন্স বা মেশিন লার্নিং প্রজেক্টের ক্ষেত্রে সবচেয়ে গুরুত্বপূর্ণ ধাপগুলোর একটি হলো 'ডাটা ক্লিনিং' বা ডাটা পরিষ্কার করা। অনেক সময় আমাদের ডাটা সেটে এমন কিছু অদ্ভুত বা ভুল তথ্য থাকে, যা মডেলের পারফরম্যান্স কমিয়ে দেয়। এই অদ্ভুত ডাটাগুলোকে বলা হয় 'আউটলায়ার' (Outliers)। আজকের এই ভিডিওটিতে আমরা দেখবো কীভাবে রিয়েল এস্টেট প্রজেক্টে এই আউটলায়ারগুলোকে চিহ্নিত করে রিমুভ বা বাদ দেওয়া যায়।
আউটলায়ার (Outliers) কী?
ভিডিও লিঙ্ক: https://www.youtube.com/watch?v=cbqZa_1vzcg
সহজ কথায়, আউটলায়ার হলো এমন কিছু ডাটা পয়েন্ট যা বাকি ডাটা থেকে অনেক আলাদা। যেমন ধরুন, ৫০০ স্কয়ার ফিটের একটি ফ্ল্যাটে যদি ৫টি বেডরুম থাকে, তবে তা বাস্তবসম্মত নয়। এই ধরনের তথ্যগুলো ডাটা সেটে ভুল বা অস্বাভাবিক (Anomalies) হিসেবে গণ্য হয়। এগুলোকে বাদ না দিলে আমাদের মডেল ভুল প্রেডিকশন বা ভবিষ্যৎবাণী করতে পারে।
১. স্কয়ার ফিট প্রতি বেডরুমের ভিত্তিতে আউটলায়ার রিমুভ করা
ভিডিও রেফারেন্স: [00:44]
এখানে আমরা ব্যবসার এক্সপার্টদের সাথে কথা বলে একটি থ্রেশহোল্ড (Threshold) বা সীমা নির্ধারণ করি। যেমন, সাধারণত ৩০০ স্কয়ার ফিটের নিচে প্রতি বেডরুম থাকা অস্বাভাবিক।
কোড স্নিপেট:
Python
# যেসব রো-তে square_ft per bedroom < 300, সেগুলোকে দেখা
df[df.total_sqft/df.bhk < 300]
# আউটলায়ার রিমুভ করা (নোট: এখানে ~ চিহ্ন দিয়ে উল্টোটা নেওয়া হয়েছে)
df6 = df[~(df.total_sqft/df.bhk < 300)]
ব্যাখ্যা: এখানে total_sqft/df.bhk দিয়ে আমরা প্রতি রুমের সাইজ বের করেছি। এরপর ৩০০ এর কম সাইজের ডাটাগুলোকে বাদ দিয়েছি।
২. স্ট্যান্ডার্ড ডেভিয়েশন (Standard Deviation) ব্যবহার করে আউটলায়ার রিমুভ
ভিডিও রেফারেন্স: [05:08]
সব এলাকায় ফ্ল্যাটের দাম সমান হয় না। তাই প্রতিটি লোকেশনের জন্য আলাদা করে গড় (Mean) এবং স্ট্যান্ডার্ড ডেভিয়েশন বের করতে হয়। স্ট্যান্ডার্ড ডেভিয়েশন হলো ডাটাগুলো গড়ের থেকে কতটা ছড়িয়ে আছে তার পরিমাপ।
সহজ ব্যাখ্যা: মনে করুন, কোনো এলাকায় বেশিরভাগ ফ্ল্যাটের দাম ১০০ টাকা। স্ট্যান্ডার্ড ডেভিয়েশন ১০ হলে, ৯০ থেকে ১১০ টাকার বাইরের দামের ফ্ল্যাটগুলোকে আমরা আউটলায়ার হিসেবে বাদ দিতে পারি।
৩. বেডরুমের সংখ্যার তুলনায় বাথরুমের আউটলায়ার
ভিডিও রেফারেন্স: [15:47]
অনেক সময় ডাটাতে দেখা যায় ২ বেডরুমের ফ্ল্যাটে ৮টি বাথরুম আছে, যা অবাস্তব। এখানে ব্যবসার পরামর্শ অনুযায়ী, যদি বাথরুমের সংখ্যা (বেডরুম + ২) এর চেয়ে বেশি হয়, তবে সেটিকে আউটলায়ার ধরে বাদ দেওয়া হয়।
বিশ্লেষণ এবং আমার চিন্তা
এই ভিডিওটিতে কোডবেসিকস যে পদ্ধতি দেখিয়েছেন তা অত্যন্ত বাস্তবসম্মত। ডাটা সায়েন্সে শুধুমাত্র কোডিং জানলেই হয় না, বরং ওই খাতের (এখানে রিয়েল এস্টেট) ডোমেইন নলেজ বা ব্যবসার খুঁটিনাটি জানা খুবই জরুরি।
বাস্তবতা ও পরামর্শ: ১. আউটলায়ার রিমুভ করার সময় খুব সতর্ক থাকতে হবে। অনেক সময় খুব দামী প্রপার্টির তথ্যগুলো আউটলায়ার মনে হলেও সেগুলো আসল ডাটা হতে পারে। ২. ডোমেইন এক্সপার্ট বা ওই ব্যবসার সাথে জড়িত মানুষের পরামর্শ নেওয়া সবচেয়ে ভালো উপায়। ৩. শুধুমাত্র statistical পদ্ধতিতে সব আউটলায়ার রিমুভ করা যায় না, তাই ভিজ্যুয়ালাইজেশন (যেমন: Scatter Plot) ব্যবহার করা খুবই ভালো প্র্যাকটিস।
এটি শেখার মাধ্যমে আপনি একটি মডেলকে নয়েজ বা ভুল তথ্য থেকে মুক্ত করতে পারবেন, যা ভবিষ্যতে আপনার তৈরি করা মেশিন লার্নিং মডেলকে আরও নির্ভুল ও দক্ষ করে তুলবে।
[
Machine Learning & Data Science Project - 4 : Outlier Removal (Real Estate Price Prediction Project)
codebasics · 210K views
](http://www.youtube.com/watch?v=cbqZa_1vzcg)

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