Regression Model Evaluation (RMSE, R-squared)

মডেল টেস্টিং এবং ইভ্যালুয়েশন - এইচ২ও (H2O) - Machine Learning

387

Regression মডেলগুলি সাধারণত সম্পর্ক বিশ্লেষণ করতে ব্যবহৃত হয়, যেখানে একটি নির্দিষ্ট ইনপুটের ভিত্তিতে একটি নির্দিষ্ট আউটপুট পূর্বাভাস করা হয়। মডেলের পারফরম্যান্স মূল্যায়ন করার জন্য কিছু মূল পরিমাপক রয়েছে, যেমন Root Mean Squared Error (RMSE) এবং R-squared (R²)। এই দুটি পরিমাপক মডেলের যথার্থতা এবং কার্যকারিতা মূল্যায়নে গুরুত্বপূর্ণ ভূমিকা পালন করে।


১. Root Mean Squared Error (RMSE)

RMSE হল একটি পরিমাপ যা মডেলের পূর্বাভাসের ভুল বা error এর আকার জানায়। এটি মূলত মূল এবং পূর্বাভাস করা আউটপুটের মধ্যে পার্থক্যকে পরিমাপ করে, এবং ভুলের গড় বর্গমূল (square root) বের করে।

গণনা:

RMSE এর ফর্মুলা হলো:

RMSE=1ni=1n(yiy^i)2RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^{n} (y_{i} - \hat{y}_{i})^2}

  • yiy_i: প্রকৃত (actual) মান
  • yi^\hat{y_i}: পূর্বাভাস (predicted) মান
  • nn: ডেটা পয়েন্টের সংখ্যা

RMSE এর মান যত কম হবে, মডেলটি তত বেশি সঠিক। এটি মডেলের পূর্বাভাসের গড় ভুলকে পরিমাপ করে, এবং এটি বুঝতে সহায়ক যে মডেলটি কতটুকু সঠিক।

RMSE এর গুরুত্ব:

  • RMSE উচ্চ হলে এটি নির্দেশ করে যে পূর্বাভাসগুলি প্রকৃত মান থেকে অনেক দূরে রয়েছে।
  • RMSE সর্বদা নেগেটিভ নয়, এটি অবশ্যই 0 বা তার উপরে থাকে।
  • এটি মৌলিকভাবে গড় ভুল পরিমাপের জন্য ব্যবহৃত হয়, তাই ভুলের বড় পার্থক্য বেশি প্রভাব ফেলে।

Python এ RMSE গণনা উদাহরণ:

import numpy as np
from sklearn.metrics import mean_squared_error

# প্রকৃত এবং পূর্বাভাস মান
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])

# RMSE গণনা
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
print("RMSE:", rmse)

২. R-squared (R²)

R-squared (R²) হল একটি পরিমাপক যা বোঝায় যে মডেলটি ইনপুট ভ্যারিয়েবলের মাধ্যমে আউটপুট ভ্যারিয়েবলটির বৈচিত্র্যের কতটুকু ব্যাখ্যা করতে পারছে। এটি একটি শতাংশ হিসেবে প্রকাশ করা হয় যা জানায়, মডেলটি কতটুকু সঠিকভাবে পূর্বাভাস দিতে সক্ষম।

গণনা:

R² এর ফর্মুলা হলো:

R2=1i=1n(yiyi^)2i=1n(yiyˉ)2R^2 = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y_i})^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2}

  • yiy_i: প্রকৃত (actual) মান
  • yi^\hat{y_i}: পূর্বাভাস (predicted) মান
  • yˉ\bar{y}: প্রকৃত মানের গড় (mean)
  • nn: ডেটা পয়েন্টের সংখ্যা

R² এর মান:

  • R2=1R^2 = 1: মডেলটি সম্পূর্ণ সঠিক, অর্থাৎ সমস্ত পূর্বাভাস সঠিক।
  • R2=0R^2 = 0: মডেলটি প্রকৃত মানের সাথে কোনো সম্পর্ক রাখছে না।
  • R2<0R^2 < 0: মডেলটি প্রকৃত মানের চেয়ে খারাপ পূর্বাভাস দিচ্ছে (এটি অনেক সময় ভুল মডেলিং বা ডেটা সমস্যা নির্দেশ করে)।

R² এর গুরুত্ব:

  • R² উচ্চ হলে, তা নির্দেশ করে যে মডেলটি আউটপুট পরিবর্তনটির একটি বড় অংশ ব্যাখ্যা করতে সক্ষম।
  • R2R^2 ব্যবহৃত হয় বিশেষত রিগ্রেশন মডেলগুলির ভাল বা খারাপ পারফরম্যান্স যাচাই করতে।

Python এ R² গণনা উদাহরণ:

from sklearn.metrics import r2_score

# প্রকৃত এবং পূর্বাভাস মান
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])

# R² গণনা
r_squared = r2_score(y_true, y_pred)
print("R-squared:", r_squared)

৩. RMSE এবং R² এর মধ্যে সম্পর্ক

  • RMSE হল একটি পরিমাণগত ভুলের পরিমাপ, যা প্রকৃত এবং পূর্বাভাস মানের মধ্যে পার্থক্য বোঝায়। এটি মডেলের পারফরম্যান্সের মধ্যে আরও স্পেসিফিক ত্রুটি জানাতে সহায়ক।
  • হল একটি পরিমাণগত মান যা জানায় মডেলটি কতটা সঠিকভাবে আউটপুট পরিবর্তন ব্যাখ্যা করতে পারছে।

উদাহরণ:

  • একটি মডেলের যদি R² মান 0.8 হয়, তবে এটি জানায় যে মডেলটি আউটপুট পরিবর্তনটির 80% ব্যাখ্যা করতে পারছে এবং বাকি 20% কিছু নির্দিষ্ট কারণে ব্যাখ্যা হচ্ছে না।
  • RMSE কম হলে, এটি বোঝায় যে মডেলটি ত্রুটি কম করছে এবং পূর্বাভাস সঠিক।

সারাংশ

  • RMSE (Root Mean Squared Error) হল মডেলের পূর্বাভাসের ত্রুটির গড় পরিমাপ।
  • R² (R-squared) হল মডেলের পূর্বাভাসের সঠিকতা পরিমাপকারী একটি শতাংশ মান যা জানায় মডেলটি কতটুকু সঠিকভাবে আউটপুট পরিবর্তন ব্যাখ্যা করছে।

মডেলের কার্যকারিতা যাচাই করতে এই দুটি পরিমাপ গুরুত্বপূর্ণ এবং মডেল উন্নত করতে এই মানগুলির অপ্টিমাইজেশন প্রয়োজন।

Content added By
Promotion

Are you sure to start over?

Loading...