মেশিন লার্নিংয়ে (Machine Learning), বিশেষ করে রিগ্রেশন মডেলের (Regression Models) ক্ষেত্রে, আমরা প্রায়শই এমন মডেল তৈরি করি যা সংখ্যাসূচক মান ভবিষ্যদ্বাণী করে। উদাহরণস্বরূপ, একটি বাড়ির দাম, একজন ব্যক্তির আয়, বা একটি পণ্যের চাহিদা। এই মডেলগুলো কতটা ভালোভাবে কাজ করছে তা বোঝার জন্য আমাদের কিছু নির্দিষ্ট মেট্রিকের প্রয়োজন হয়। R-Squared () (স্কোয়ার্ড) হলো এমনই একটি গুরুত্বপূর্ণ মেট্রিক।
 

R-Squared () কী?

R-স্কোয়ার্ড () হলো একটি পরিসংখ্যানগত পরিমাপ যা ব্যাখ্যা করে যে একটি রিগ্রেশন মডেলের স্বাধীন ভেরিয়েবলগুলো (independent variables) নির্ভরশীল ভেরিয়েবলের (dependent variable) ভিন্নতার (variability) কত শতাংশ ব্যাখ্যা করতে পারে। সহজ কথায়, এটি আপনাকে জানায় যে আপনার মডেলটি ডেটার মধ্যে কতটা ভালোভাবে ফিট করে। এটিকে সহগ নির্ধারণ (Coefficient of Determination) ও বলা হয়।
R-স্কোয়ার্ডের মান থেকে এর মধ্যে থাকে।

  • : এর অর্থ হলো আপনার মডেলটি নির্ভরশীল ভেরিয়েবলের সমস্ত ভিন্নতা পুরোপুরি ব্যাখ্যা করতে পারে। এটি একটি নিখুঁত মডেল নির্দেশ করে (বাস্তবে যা খুব কমই দেখা যায়)।
  • : এর অর্থ হলো আপনার মডেলটি নির্ভরশীল ভেরিয়েবলের কোনো ভিন্নতা ব্যাখ্যা করতে পারে না। অর্থাৎ, আপনার মডেলের ভবিষ্যদ্বাণীগুলি ডেটার গড় মানের চেয়ে ভালো নয়।
  • $0 \< R^2 \< 1$: এর অর্থ হলো আপনার মডেলটি নির্ভরশীল ভেরিয়েবলের ভিন্নতার একটি নির্দিষ্ট শতাংশ ব্যাখ্যা করে। উদাহরণস্বরূপ, যদি হয়, তাহলে আপনার মডেলটি ডেটার ভিন্নতার ব্যাখ্যা করতে সক্ষম।

গাণিতিকভাবে, R-স্কোয়ার্ডের সূত্রটি হলো: R-Squared (R2) এবং সঠিক মেট্রিক নির্বাচন : আপনার মডেল কতটা ফিট করে | TechAid24
যেখানে:

  • (Sum of Squares of Residuals): এটি প্রকৃত মান এবং মডেল দ্বারা ভবিষ্যদ্বাণী করা মানের মধ্যে পার্থক্যের বর্গের যোগফল। এটি মডেলের ব্যাখ্যা করতে না পারা ত্রুটিগুলোকে নির্দেশ করে।
  • (Total Sum of Squares): এটি প্রকৃত মান এবং প্রকৃত মানের গড়ের মধ্যে পার্থক্যের বর্গের যোগফল। এটি নির্ভরশীল ভেরিয়েবলের মোট ভিন্নতা নির্দেশ করে।

উদাহরণ: ধরা যাক, আপনি একটি এলাকার বাড়ির আকার (বর্গফুট) ব্যবহার করে বাড়ির দাম (লক্ষ টাকায়) ভবিষ্যদ্বাণী করার জন্য একটি মডেল তৈরি করেছেন।

  • যদি আপনার মডেলের হয়, তার মানে হলো বাড়ির আকারের ভিন্নতা, বাড়ির দামের ভিন্নতার ব্যাখ্যা করতে পারে। অবশিষ্ট ভিন্নতা অন্যান্য কারণ (যেমন এলাকার নিরাপত্তা, স্কুলের মান, নির্মাণ সামগ্রী) দ্বারা ব্যাখ্যা করা হয়, যা আপনার মডেলে অন্তর্ভুক্ত নয়।

মডেল অ্যাকুরেসি হিসেবে R-Squared () ব্যাখ্যা করা

 যদিও R-স্কোয়ার্ড মডেলের ‘ফিট’ পরিমাপ করে, এটিকে সরাসরি ‘মডেল অ্যাকুরেসি’ হিসেবে দেখা উচিত নয়। এর কিছু কারণ রয়েছে:

  1. ত্রুটি বনাম ভিন্নতা ব্যাখ্যা: আপনাকে বলে যে মডেলটি কতটুকু ডেটার ভিন্নতা ব্যাখ্যা করে, কিন্তু এটি আপনাকে সরাসরি বলে না যে মডেলের ভবিষ্যদ্বাণীগুলো প্রকৃত মানের কতটা কাছাকাছি। একটি উচ্চ মান থাকা সত্ত্বেও, আপনার মডেলের ভবিষ্যদ্বাণীগুলোতে বড় ত্রুটি থাকতে পারে, বিশেষ করে যদি ডেটাসেটে আউটলায়ার (outliers) থাকে।
  2. ওভারফিটিং (Overfitting): আপনি যখন আপনার মডেলে অতিরিক্ত স্বাধীন ভেরিয়েবল যোগ করেন, তখন এর মান বাড়তে থাকে, এমনকি সেই ভেরিয়েবলগুলো সত্যিই নির্ভরশীল ভেরিয়েবল ব্যাখ্যা না করলেও। একে ওভারফিটিং বলে। একটি ওভারফিট মডেল প্রশিক্ষণ ডেটার উপর খুব ভালো কাজ করে, কিন্তু নতুন, অজানা ডেটার উপর খারাপ পারফর্ম করে। অ্যাডজাস্টেড R-স্কোয়ার্ড (Adjusted R-squared) এই সমস্যা কিছুটা সমাধান করে, কারণ এটি মডেলে যুক্ত করা অতিরিক্ত ভেরিয়েবলগুলোর জন্য জরিমানা (penalty) আরোপ করে।
  3. প্রয়োগের ক্ষেত্র: একটি মডেলের সামগ্রিক ব্যাখ্যা করার ক্ষমতা বোঝার জন্য ভালো। কিন্তু যদি আপনার উদ্দেশ্য হয় ভবিষ্যদ্বাণীর সুনির্দিষ্ট ত্রুটি পরিমাপ করা, তাহলে MAE (Mean Absolute Error) বা RMSE (Root Mean Squared Error) এর মতো মেট্রিকগুলো বেশি উপযুক্ত।

উদাহরণ: আপনার একটি মডেলের হয়তো । এটি ইঙ্গিত দেয় যে মডেলটি ডেটা ভালোভাবে ব্যাখ্যা করে। কিন্তু যদি মডেলটি দুর্ঘটনাক্রমে একটি খুব বিরল এবং গুরুত্বপূর্ণ ডেটা পয়েন্টকে সঠিকভাবে ভবিষ্যদ্বাণী করতে ব্যর্থ হয় (যা ব্যবসার জন্য খুবই গুরুত্বপূর্ণ), তাহলে উচ্চ সত্ত্বেও, মডেলটি বাস্তব জগতে কার্যকর নাও হতে পারে।
 

মূল্যায়নের জন্য সঠিক মেট্রিক নির্বাচন করা (Right Metric for Evaluation)

মডেল মূল্যায়নের জন্য সঠিক মেট্রিক নির্বাচন করা আপনার সমস্যার ধরন এবং ব্যবসার উদ্দেশ্যের উপর নির্ভর করে। কোনো একক ‘সেরা’ মেট্রিক নেই। প্রতিটি মেট্রিকের নিজস্ব সুবিধা এবং অসুবিধা রয়েছে।
এখানে কিছু সাধারণ রিগ্রেশন মেট্রিক এবং কখন সেগুলো ব্যবহার করা উচিত তার একটি সংক্ষিপ্ত সারসংক্ষেপ:

  1. Mean Absolute Error (MAE):
    • কখন ব্যবহার করবেন: যখন আপনার মডেলের গড় ত্রুটি বোঝা সবচেয়ে গুরুত্বপূর্ণ এবং আপনি চান না যে বড় ত্রুটিগুলো খুব বেশি গুরুত্ব পাক (আউটলায়ারদের প্রতি কম সংবেদনশীল)।
    • উদাহরণ: আপনি একটি মোবাইল অ্যাপের দৈনিক ব্যবহারকারীর সংখ্যা ভবিষ্যদ্বাণী করছেন। যদি জনের বেশি বা কম ব্যবহারকারী হয়, সেটা আপনার জন্য মোটামুটি গ্রহণযোগ্য। এক্ষেত্রে MAE আপনাকে গড়ে প্রতিদিন কতজন ব্যবহারকারীর ভুল ভবিষ্যদ্বাণী করছেন তা জানায়।
  2. Root Mean Squared Error (RMSE):
    • কখন ব্যবহার করবেন: যখন বড় ত্রুটিগুলো আপনার কাছে বিশেষভাবে গুরুত্বপূর্ণ হয় এবং আপনি চান যে মডেল সেগুলোকে কমানোর চেষ্টা করুক (আউটলায়ারদের প্রতি বেশি সংবেদনশীল)।
    • উদাহরণ: আপনি একটি পাওয়ার প্ল্যান্টের বিদ্যুৎ উৎপাদন ভবিষ্যদ্বাণী করছেন। এখানে সামান্য ত্রুটিও বড় আর্থিক ক্ষতি বা নিরাপত্তা ঝুঁকি তৈরি করতে পারে। তাই বড় ত্রুটিগুলোকে বেশি গুরুত্ব দেওয়া প্রয়োজন। RMSE বড় ত্রুটিগুলোকে বেশি শাস্তি দেয়।
  3. R-squared ():
    • কখন ব্যবহার করবেন: যখন আপনি বুঝতে চান আপনার স্বাধীন ভেরিয়েবলগুলো নির্ভরশীল ভেরিয়েবলের ভিন্নতার কত শতাংশ ব্যাখ্যা করতে পারে। মডেলের ‘ফিট’ বোঝার জন্য এটি ভালো।
    • উদাহরণ: আপনি একটি শিক্ষামূলক প্রোগ্রাম চালু করেছেন এবং জানতে চান শিক্ষার্থীদের পূর্বের পড়াশোনার মান এবং ক্লাসে উপস্থিতির মতো বিষয়গুলো তাদের চূড়ান্ত পরীক্ষায় ফলাফলের ভিন্নতার কতটা ব্যাখ্যা করতে পারে। আপনাকে এই ব্যাখ্যা করার ক্ষমতা সম্পর্কে ধারণা দেবে।

Python ব্যবহার করে R-স্কোয়ার্ড () এর উদাহরণ:

চলুন, একটি সহজ উদাহরণ দিয়ে দেখি কিভাবে Python-এ R-স্কোয়ার্ড গণনা করা হয়। আমরা scikit-learn লাইব্রেরি ব্যবহার করব।

কোডের ব্যাখ্যা:

 আমরা দুটি কাল্পনিক মডেলের উদাহরণ দিয়েছি: model1 (যা ডেটার সাথে ভালো ফিট করে) এবং model2 (যা খারাপ ফিট করে)।

  • r2_score(actual_values, predicted_values): এই ফাংশনটি মান গণনা করে।
    • মডেল 1 এর জন্য (): এই উচ্চ মান ইঙ্গিত করে যে মডেল 1 প্রকৃত ডেটার ভিন্নতার প্রায় ব্যাখ্যা করতে সক্ষম। এর MAE এবং RMSE মানও কম, যা একটি ভালো পারফরম্যান্স নির্দেশ করে।
    • মডেল 2 এর জন্য (): এই অনেক কম মান ইঙ্গিত করে যে মডেল 2 প্রকৃত ডেটার ভিন্নতার মাত্র ব্যাখ্যা করতে পারে। এর MAE এবং RMSE মান অনেক বেশি, যা মডেলের দুর্বল পারফরম্যান্স নির্দেশ করে।
  • mean_absolute_error এবং mean_squared_error: এই ফাংশনগুলো MAE এবং MSE গণনা করে, যা থেকে আমরা RMSE পাই। এই মেট্রিকগুলো ত্রুটির পরিমাণ পরিমাপ করে।

এই উদাহরণটি দেখায় যে, একটি উচ্চ মান সাধারণত একটি ভালো ফিটিং মডেল নির্দেশ করে, কিন্তু MAE এবং RMSE এর মতো অন্যান্য মেট্রিকগুলো আপনাকে মডেলের ভবিষ্যদ্বাণীর ত্রুটির পরিমাণ সম্পর্কে আরও সরাসরি ধারণা দেয়।
 

 
R-স্কোয়ার্ড () একটি মূল্যবান মেট্রিক যা আপনার রিগ্রেশন মডেলের ডেটার ভিন্নতা ব্যাখ্যা করার ক্ষমতা পরিমাপ করে। তবে, এটিকে এককভাবে মডেলের ‘অ্যাকুরেসি’ পরিমাপক হিসেবে দেখা ঠিক নয়। আপনার নির্দিষ্ট সমস্যা এবং তার প্রেক্ষাপটের উপর নির্ভর করে MAE, RMSE, বা R-স্কোয়ার্ডের মতো একাধিক মেট্রিক ব্যবহার করে আপনার মডেলের কার্যকারিতা মূল্যায়ন করা উচিত।

Leave a Comment