মডেল ইভ্যালুয়েশন মেশিন লার্নিংয়ের একটি গুরুত্বপূর্ণ অংশ, যার মাধ্যমে আমরা নিশ্চিত হতে পারি যে মডেলটি আমাদের ডেটার জন্য সঠিকভাবে কাজ করছে কিনা। বিভিন্ন মেট্রিক্স এবং টুলস মডেল পারফরম্যান্স যাচাই করার জন্য ব্যবহৃত হয়, যেমন R-squared এবং Mean Squared Error (MSE)। এই দুটি মেট্রিক্স বিশেষভাবে রিগ্রেশন মডেলগুলির পারফরম্যান্স মাপতে ব্যবহৃত হয়। আসুন, এগুলি সম্পর্কে বিস্তারিত আলোচনা করি।
১. R-squared (R²)
R-squared বা Coefficient of Determination একটি পরিমাপ যা রিগ্রেশন মডেলের উপযুক্ততা নির্দেশ করে। এটি মডেল দ্বারা ব্যাখ্যা করা ডেটার পরিবর্তনের পরিমাণের অনুপাতকে দেখায়। সাধারণভাবে, R² মান যত বেশি হবে, মডেলটি তত ভালোভাবে ডেটাকে ব্যাখ্যা করতে সক্ষম।
রূপ:
এখানে:
- হল আসল আউটপুট (টার্গেট ভ্যালু),
- হল পূর্বাভাস করা আউটপুট,
- হল আসল আউটপুটের গড়।
ব্যাখ্যা:
- R² = 1: এটি মানে মডেলটি সমস্ত পরিবর্তন ব্যাখ্যা করতে সক্ষম, অর্থাৎ পূর্বাভাস এবং আসল আউটপুট পুরোপুরি মিলে যাচ্ছে।
- R² = 0: এটি মানে মডেলটি কিছুই ব্যাখ্যা করছে না, এর পূর্বাভাস আসল আউটপুটের সঙ্গে কিছুই সম্পর্কিত নয়।
- R² < 0: এটি মানে মডেলটি আরও খারাপ কাজ করছে, যেমন গড় থেকে আউটপুটের অস্থিরতা বেশি।
উদাহরণ:
from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
r2 = r2_score(y_true, y_pred)
print("R-squared:", r2)
সারাংশ:
R² একটি মাপ যা রিগ্রেশন মডেলের পারফরম্যান্স পরিমাপ করে। এর মান 0 থেকে 1 এর মধ্যে থাকে এবং একটি উচ্চ R² মান ভালো মডেল পারফরম্যান্স নির্দেশ করে।
২. Mean Squared Error (MSE)
Mean Squared Error (MSE) হলো একটি পরিমাপ যা মডেলের পূর্বাভাসের ত্রুটির গড় বর্গ পরিমাণকে পরিমাপ করে। MSE কম হলে, তা নির্দেশ করে যে মডেলটি ভালভাবে পূর্বাভাস দিতে সক্ষম হচ্ছে, কারণ এটি পূর্বাভাসের ত্রুটি (রেজিডুয়াল) কম রাখে।
রূপ:
এখানে:
- হল আসল আউটপুট (টার্গেট ভ্যালু),
- হল পূর্বাভাস করা আউটপুট,
- হল ডেটাসেটের নম্বর।
ব্যাখ্যা:
- MSE মান যত কম হবে, মডেলটি তত ভালো কাজ করছে এবং পূর্বাভাসের ত্রুটি (error) কম হচ্ছে।
- MSE এর মধ্যে থাকা বর্গমূলের কারণে এটি আউটলাইয়ার্সকে বেশি গুরুত্ব দেয়, কারণ বড় ত্রুটি বেশি স্কোয়ারড ভ্যালু তৈরি করে।
উদাহরণ:
from sklearn.metrics import mean_squared_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mse = mean_squared_error(y_true, y_pred)
print("Mean Squared Error:", mse)
সারাংশ:
MSE একটি কম্পিউটেশনাল উপায়ে পূর্বাভাসের ত্রুটি পরিমাপ করে এবং এটি মডেল ট্রেনিংয়ের পরিমাণের একটি পরিমাপ সরবরাহ করে। MSE কম হলে, মডেলটি ভালভাবে পূর্বাভাস করছে বলে ধরা হয়।
R-squared এবং Mean Squared Error এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | R-squared | Mean Squared Error (MSE) |
|---|---|---|
| বিবরণ | মডেলের পারফরম্যান্সের শতাংশ পরিমাপ | পূর্বাভাসের ত্রুটির গড় বর্গ পরিমাপ |
| মানের পরিসীমা | 0 থেকে 1 বা নেতিবাচক | 0 থেকে অসীম |
| প্রয়োগের ক্ষেত্র | মডেলের সঠিকতা (ভালো পারফরম্যান্স নির্দেশক) | পূর্বাভাসের ত্রুটি মাপতে |
| উচ্চ মানের অর্থ | ভালো মডেল, অধিক পারফরম্যান্স | কম ত্রুটি, ভাল পূর্বাভাস |
| কম মানের অর্থ | মডেল ভালো না, বা কিছু ব্যাখ্যা করছে না | উচ্চ ত্রুটি, খারাপ পূর্বাভাস |
সারাংশ
- R-squared (R²): মডেলটি কতটুকু ডেটার ভ্যারিয়েশন ব্যাখ্যা করতে পারছে তা পরিমাপ করে। এটি সাধারণত একটি রিগ্রেশন মডেলের কার্যকারিতা পরিমাপ করতে ব্যবহৃত হয়।
- Mean Squared Error (MSE): পূর্বাভাসের ত্রুটির গড় বর্গ পরিমাপ করে এবং এটি মডেলের পূর্বাভাসের সঠিকতা নির্ধারণ করতে ব্যবহৃত হয়। MSE কম হলে মডেলটি ভালো পূর্বাভাস দিচ্ছে।
এই দুটি মেট্রিক্স রিগ্রেশন মডেলগুলির পারফরম্যান্স পরিমাপ করতে সহায়ক, এবং সঠিক মডেল নির্বাচন করতে সাহায্য করে।
Read more