ভূমিকা
আমাদের এই আলোচনার মূল বিষয় হলো একটি মেশিন লার্নিং মডেল তৈরি করা, যা দিয়ে বাসার দাম অনুমান করা যায়। সহজ কথায়, আমরা কম্পিউটারকে আমাদের ডাটা বা তথ্যগুলো শিখিয়ে দিচ্ছি যাতে সে নতুন কোনো বাসার লোকেশন, সাইজ এবং কয়টি রুম আছে—তা দেখে দাম বলে দিতে পারে। এই পর্যায়ে আমরা মডেলটি তৈরি করে তার কার্যকারিতা পরীক্ষা করব।
১. টেক্সট ডাটাকে সংখ্যায় রূপান্তর (One-Hot Encoding)
ভিডিও রেফারেন্স: [00:21]
মেশিন লার্নিং মডেল টেক্সট বা লেখা বুঝতে পারে না, সে শুধু সংখ্যা বোঝে। আমাদের ডাটাতে বাসার লোকেশনগুলো ছিল লেখা (যেমন: JP Nagar, Indiranagar)। এগুলোকে সংখ্যায় রূপান্তর করার জন্য আমরা 'One-Hot Encoding' ব্যবহার করেছি।
সহজ ভাষায়: ধরুন, আপনার কাছে তিনটি এলাকা আছে—ক, খ, গ। এই মডেলটি তিনটি নতুন কলাম তৈরি করবে। যদি কোনো বাসা 'ক' এলাকার হয়, তবে 'ক' কলামে ১ থাকবে, বাকিগুলোতে ০। এতে কম্পিউটার বুঝতে পারে কোন বাসা কোথায়।
কোড স্নিপেট:
Python
dummies = pd.get_dummies(df10.location)
df11 = pd.concat([df10, dummies.drop('other', axis='columns')], axis='columns')
df12 = df11.drop('location', axis='columns')
- ব্যাখ্যা:
get_dummiesদিয়ে লোকেশনগুলোকে কলামে ভাগ করা হয়েছে।dropব্যবহার করা হয়েছে 'Dummy Variable Trap' বা অপ্রয়োজনীয় জটিলতা এড়াতে। এরপরconcatদিয়ে মূল ডাটা ফ্রেমের সাথে যোগ করা হয়েছে।
২. মডেল প্রশিক্ষণ এবং মূল্যায়ন (Training & Evaluation)
ভিডিও রেফারেন্স: [05:31]
এখন আমরা আমাদের ডাটাকে দুটি ভাগে ভাগ করেছি: ট্রেনিং ডাটা (৮০%) এবং টেস্ট ডাটা (২০%)। ট্রেনিং ডাটা দিয়ে মডেলকে শিখিয়েছি এবং টেস্ট ডাটা দিয়ে দেখেছি মডেলটি কতটা সঠিক দাম বলতে পারছে।
-
Linear Regression: এটি একটি গাণিতিক পদ্ধতি যা দামের সম্পর্ক বের করে।
-
K-Fold Cross-Validation: এটি মডেলকে অনেকবার আলাদা আলাদা ডাটা দিয়ে যাচাই করে নিশ্চিত করে যে মডেলটি সব ধরণের ডাটার জন্যই ঠিকমতো কাজ করছে।
৩. সেরা মডেল খুঁজে বের করা (Grid Search CV)
ভিডিও রেফারেন্স: [08:28]
আমরা শুধু একটি মডেলের উপর নির্ভর না করে GridSearchCV ব্যবহার করে বেশ কিছু অ্যালগরিদম (যেমন: Lasso, Decision Tree) যাচাই করেছি। এটি স্বয়ংক্রিয়ভাবে দেখে কোন মডেলটি সবচেয়ে ভালো কাজ করছে। আমাদের ক্ষেত্রে Linear Regression সেরা ফল দিয়েছে।
৪. মডেল এক্সপোর্ট করা (Pickle File)
ভিডিও রেফারেন্স: [16:12]
মডেলটি যখন তৈরি হয়ে গেল, তখন আমরা এটিকে একটি pickle ফাইলে সেভ করেছি।
সহজ ভাষায়: Pickle হলো এমন একটি ফাইল ফরম্যাট যা আপনার তৈরি করা পুরো মডেলটিকে একটি ছোট প্যাকেটে ভরে রাখে, যাতে পরে অন্য কোনো ওয়েবসাইট বা সার্ভারে এটি সহজেই ব্যবহার করা যায়।
কোড স্নিপেট:
Python
import pickle
with open('banglore_home_prices_model.pickle','wb') as f:
pickle.dump(lr_clf,f)
- ব্যাখ্যা:
pickle.dumpকমান্ডটি আমাদের তৈরি করা মডেলকে ফাইল আকারে সেভ করে ফেলেছে।
বিশ্লেষণ ও আমার মতামত
এই ভিডিওটিতে খুব সুন্দরভাবে একটি রিয়েল-ওয়ার্ল্ড প্রবলেম সমাধান করা হয়েছে। একজন ডাটা সায়েন্টিস্ট হিসেবে এখানে যে প্রক্রিয়াটি দেখানো হয়েছে (ডাটা ক্লিনিং থেকে শুরু করে মডেল সেভ করা পর্যন্ত), তা বাস্তব জীবনে দারুণ কার্যকর।
বাস্তবতা ও সাজেশন: ১. মডেলটিতে কিছু অস্বাভাবিক রেজাল্ট দেখা গেছে, যেমন ২ বেডরুমের দাম ৩ বেডরুমের চেয়ে বেশি। এর মানে হতে পারে আমাদের ডাটা সোর্সে তথ্যের অভাব ছিল। ভবিষ্যতে আরও সঠিক ডাটা ব্যবহার করলে এই ভুলগুলো থাকবে না। ২. নতুন কেউ যদি শিখতে চান, তবে One-Hot Encoding এবং Train-Test Split এর কনসেপ্টটি আগে ভালো করে আয়ত্ত করবেন। ৩. মডেলটি আরও উন্নত করতে চাইলে 'Outlier removal' (অস্বাভাবিক দামের ডাটা বাদ দেওয়া) আরও সতর্কভাবে করা উচিত।
এই পুরো প্রক্রিয়াটি একটি পেশাদার ডাটা সায়েন্স প্রোজেক্টের একটি গুরুত্বপূর্ণ অংশ, যা আপনাকে সরাসরি কাজের উপযোগী দক্ষতা অর্জনে সাহায্য করবে।
[
Machine Learning & Data Science Project - 5 : Model Building (Real Estate Price Prediction Project)
codebasics · 207K views
](http://www.youtube.com/watch?v=oCiRv94GMEc)

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