সরাসরি প্রধান সামগ্রীতে চলে যান

রিয়েল এস্টেট প্রাইস প্রেডিকশন: ফিচার ইঞ্জিনিয়ারিং ও ডাইমেনশনালিটি রিডাকশন

ভূমিকা

মেশিন লার্নিং বা ডাটা সায়েন্স প্রজেক্টের একটি অত্যন্ত গুরুত্বপূর্ণ ধাপ হলো 'ফিচার ইঞ্জিনিয়ারিং'। সহজ কথায়, আপনার কাছে থাকা ডাটাকে এমনভাবে সাজানো বা নতুন তথ্য যোগ করা যাতে মেশিন লার্নিং মডেল খুব সহজে প্যাটার্ন বুঝতে পারে। আজকের এই ভিডিওতে আমরা দেখব কিভাবে রিয়েল এস্টেট বা বাড়ির দামের ডাটাসেটে নতুন ফিচার তৈরি করতে হয় এবং কেন ডাটার আকার কমানো (Dimensionality Reduction) জরুরি।


১. নতুন ফিচার তৈরি: প্রাইস পার স্কয়ার ফিট (Price Per Square Feet)

ভিডিও রেফারেন্স: [00:00] থেকে [01:44]

আমরা বাড়ির মোট দাম এবং কত স্কয়ার ফিট জায়গা আছে তা জানি। কিন্তু বাড়ির দাম কেমন হবে তা বোঝার জন্য 'প্রতি স্কয়ার ফিট দাম' কত—সেটা জানা খুব জরুরি। এটি মডেলকে বুঝতে সাহায্য করে যে কোন এলাকা বা কোন ধরনের বাড়ির দাম তুলনামূলক বেশি বা কম।

কোড স্নিপেট:

Python

# নতুন কলাম তৈরি: 'price_per_sqft'
df5['price_per_sqft'] = df5['price'] * 100000 / df5['total_sqft'] 
  • ব্যাখ্যা: এখানে আমরা বাড়ির দামকে (যা লাখে আছে, তাই ১ লাখ দিয়ে গুণ করা হয়েছে) মোট স্কয়ার ফিট দিয়ে ভাগ করছি। এতে আমরা নতুন একটি কলাম পাচ্ছি যা প্রতি স্কয়ার ফিটের দাম নির্দেশ করছে। এটি পরবর্তী ধাপে ভুল ডাটা (Outliers) শনাক্ত করতে সাহায্য করবে।

২. ডাইমেনশনালিটি রিডাকশন ও লোকেশন হ্যান্ডলিং

ভিডিও রেফারেন্স: [01:52] থেকে [08:26]

ডাটা সেটে 'লোকেশন' বা এলাকা অনেক থাকতে পারে। যদি খুব বেশি আলাদা আলাদা লোকেশন থাকে (যেমন ১৩০০টি এলাকা), তবে মডেলের পারফরম্যান্স কমে যায়। একে বলা হয় 'কার্স অফ ডাইমেনশনালিটি' (Curse of Dimensionality)

  • সহজ শব্দে: অনেক বেশি কলাম বা ফিচার থাকলে কম্পিউটার বুঝতে পারে না কোনটি আসল গুরুত্বপূর্ণ তথ্য। তাই অপ্রয়োজনীয় বা খুব কম ডাটা থাকা লোকেশনগুলোকে একটি ক্যাটাগরিতে নিয়ে আসতে হয়।

কাজ করার পদ্ধতি: ১. প্রথমে লোকেশনের অতিরিক্ত স্পেস পরিষ্কার করা। ২. যে লোকেশনগুলোতে ডাটা খুব কম (যেমন ১০টির কম), সেগুলোকে একটি কমন নাম 'Other' বা 'অন্যান্য' দিয়ে চিহ্নিত করা।

কোড স্নিপেট:

Python

# যেসব লোকেশনে ১০টির কম ডাটা আছে, তাদের 'other' করে দেওয়া
location_stats = df5.groupby('location')['location'].agg('count')
other_locations = location_stats[location_stats < 10]

df5.location = df5.location.apply(lambda x: 'other' if x in other_locations else x) 
  • ব্যাখ্যা: আমরা গ্রুপ করে দেখছি কোন লোকেশনে কতগুলো ডাটা আছে। এরপর যে লোকেশনগুলোতে ১০টির কম ডাটা পাওয়া গেছে, তাদের আমরা 'other' হিসেবে ঘোষণা করছি। এতে আমাদের লোকেশনের সংখ্যা অনেক কমে যায়, যা মডেলকে দ্রুত এবং নির্ভুল হতে সাহায্য করে।

বিশ্লেষণ ও আমার মতামত

এই ভিডিওটিতে খুব সুন্দরভাবে দেখানো হয়েছে কিভাবে ডাটা সায়েন্সের প্রজেক্টে বাস্তবসম্মত চিন্তা করতে হয়।

  • কেন এটি গুরুত্বপূর্ণ: আপনি যদি ১০০০টির বেশি আলাদা কলাম (One Hot Encoding এর মাধ্যমে) তৈরি করতেন, তবে মডেলটি অনেক ভারী হয়ে যেত এবং ভুল প্রেডিকশন দিত।

  • বাস্তবতা: বাস্তবে সব লোকেশনে সমান পরিমাণ তথ্য থাকে না। তাই এই 'Other' ক্যাটাগরি তৈরি করা একটি অত্যন্ত কার্যকর টেকনিক।

  • পরামর্শ: নতুনদের জন্য আমার পরামর্শ হলো, কোডিং করার সময় সবসময় ভাববেন—এই ফিচারটি মডেলকে কি নতুন কিছু শেখাচ্ছে? যদি না শেখায়, তবে সেটিকে বাদ দিন বা গ্রুপ করে ছোট করে ফেলুন।

আপনার জন্য টিপস: আপনি যদি পাইথন ব্যবহার করেন, তবে groupby এবং apply ফাংশনগুলো খুব ভালো করে আয়ত্ত করুন। এগুলো ডাটা ক্লিনিংয়ের সময় জাদুর মতো কাজ করে।

ভিডিও লিংক: Machine Learning & Data Science Project - 3 : Feature Engineering

[

Machine Learning & Data Science Project - 3 : Feature Engineering (Real Estate Price Prediction)

codebasics · 206K views

](http://www.youtube.com/watch?v=gMoJIH0prL4)

মন্তব্যসমূহ

এই ব্লগটি থেকে জনপ্রিয় পোস্টগুলি

সিজ্জিন (Sijjin) vs ইল্লিয়িন (Illiyin) পার্থক্য Difference

Sijjin (سِجِّين) এবং Illiyin (عِلِّيِّين) —এ দুটি শব্দ কুরআনে এসেছে এবং দুটোই মানুষের আমলনামা সংরক্ষণ সম্পর্কিত স্থানকে নির্দেশ করে। ১. সিজ্জিন (Sijjin) সিজ্জিন হলো পাপীদের (কাফের, মুনাফিক ও দুরাচারীদের) আমলনামা সংরক্ষণের স্থান। এটি সাত তলদেশের নীচে এক কারাগার বা অন্ধকার জগতে অবস্থিত বলে উল্লেখ রয়েছে। সূরা আল-মুতাফফিফীন (৮৩:৭-৯) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْفُجَّارِ لَفِي سِجِّينٍ ۝ وَمَا أَدْرَاكَ مَا سِجِّينٌ ۝ كِتَابٌ مَرْقُومٌ" অর্থ: "না, পাপীদের আমলনামা সিজ্জিনে সংরক্ষিত। তুমি কি জানো, সিজ্জিন কী? এটি এক লিখিত দলিল।" সিজ্জিনকে একটি কারাগার, সংকীর্ণ স্থান, বা নিচের স্তরে অবস্থিত এক অন্ধকার দুনিয়া হিসেবে ব্যাখ্যা করা হয়। ২. ইল্লিয়িন (Illiyin) ইল্লিয়িন হলো সৎকর্মশীলদের (মুমিন ও নেককারদের) আমলনামা সংরক্ষণের স্থান । এটি সপ্তম আসমানের ওপরে সংরক্ষিত এক সম্মানিত স্থান। সূরা আল-মুতাফফিফীন (৮৩:১৮-২১) তে বলা হয়েছে: "كَلَّا إِنَّ كِتَابَ الْأَبْرَارِ لَفِي عِلِّيِّينَ ۝ وَمَا أَدْرَاكَ مَا عِلِّيُّونَ ۝ كِتَابٌ مَرْقُومٌ ۝ يَش...

তারাবিহ সমগ্র - প্রথম আলো

রামাদান ২০২৪ উপলক্ষে প্রথম আলোর নিয়মিত আয়োজন - খতমে তারাবিহ'র সূরা গুলো নিয়ে সংক্ষিপ্ত আলোচনা'র লিংক  নিচে দেওয়া হলো।  লিংকে ক্লিক করলেই আপনাকে আলোচনা তে নিয়ে যাবে। তারাবিহ: ১ | একটি খুন ও গাভি নিয়ে বনি ইসরাইলের বাড়াবাড়ি তারাবিহ: ২ | নারীর মর্যাদা ও অধিকার এবং অলৌকিক তিন ঘটনা তারাবিহ: ৩ | যে ১৪ নারীকে বিয়ে করা হারাম তারাবিতে: ১২ | মহানবী (সা.)–এর আকাশভ্রমণ এবং আসহাবে কাহাফের কাহিনি

রেডমি নোট ৯ এর বিস্তারিত | Redmi Note 9 in Bangla

৩০ এপ্রিল, ২০২০ এ শাওমির ঘোষনা আসে এই ফোনটি নিয়ে। কিন্তু ফোনটি মার্কেটে আসে মে মাসের শেষের দিকে৷ করোনার কারনে ফোনটি বাংলাদেশে আসতে আরো সময় নেয়। বর্তমানে বাংলাদেশে আন অফিশিয়াল ভাবে ফোনটি পাওয়া যাচ্ছে৷ বাংলাদেশে অফিশিয়াল ভাবে এখনো ফোনটি আসার তথ্য নেয়৷ চলুন ফোনটি নিয়ে বিস্তারিত আলোচনা করা যাক। শাওমি নোট সিরিজের ফোন বের করে এদের রেডমি নামে সাব ব্যান্ড৷ এদের কাজ হল এই নোট সিরিজ নিয়ে কাজ করা৷ প্রতিবছর নোট সিরিজের ১/২ টা ফোন বাজারে আসে। সাথে সেই ফোন গুলার বিভিন্ন ভার্সন (যেমন - র‍্যাম ও রমের ভিত্তিতে) বাজারে আসে। এই বছরও তারা রেডমি সিরিজের নোট ৯ বাজারে আনে। এই বছর হয়তো এই সিরিজের আরো ফোন বাজারে আসবে। ডিস্পলেঃ ফোনটির ডিসপ্লে সাইজ ৬.৫৩ ইঞ্চি। এতে আইপিএস এলসিডি ডিসপ্লে ব্যবহার করা হয়েছে। এই ফোনের ডিসপ্লে প্রটেকশন হিসেবে আছে গরিলা গ্লাস ফাইভ। স্ক্রিন আর ফোনের বডির অনুপাত প্রায় ৮৩.৫%। এই ফোনের ডিসপ্লে ফুলএইচডি মানে ১০৮০পি। এই ডিস্পলের দৈর্ঘ্য ১৯.৫ একক এবং প্রস্থ হল ৯ একক। এত বড় ফোনের কারনে এই ফোনের পিপি আই ডেনসিটি ৩৯৫। যা একটু কম। প্লাটফর্মঃ এই ফোনের অপারেটিং সিস্টেম এন্ড্রয়েড ১০ এবং এর...