Model Evaluation (R-Squared, Mean Squared Error)

Linear Regression - পাইথন দিয়ে মেশিন লার্নিং (Machine Learning with Python) - Machine Learning

252

মডেল ইভ্যালুয়েশন হল মেশিন লার্নিং প্রক্রিয়ার একটি গুরুত্বপূর্ণ অংশ, যেখানে মডেলের কর্মক্ষমতা বা কার্যকারিতা নির্ধারণ করা হয়। এটি মডেলের সঠিকতা, পূর্বানুমান ক্ষমতা এবং প্রেডিকশনের নির্ভুলতা যাচাই করতে সাহায্য করে। মডেল ইভ্যালুয়েশন করার জন্য কিছু জনপ্রিয় মেট্রিক্স রয়েছে, যেমন R-Squared এবং Mean Squared Error (MSE), যা বিশেষ করে রিগ্রেশন মডেল ইভ্যালুয়েট করতে ব্যবহৃত হয়।

১. R-Squared (R²)

R-Squared একটি পরিমাপ যা আমাদের বলে দেয় যে, নির্দিষ্ট ইনপুট বৈশিষ্ট্য (features) কতটা ভালভাবে আউটপুট ভেরিয়েবল (dependent variable) এর ভ্যারিয়েশন ব্যাখ্যা করতে পারে। এটি ভেরিয়েশন বা পরিবর্তন বোঝাতে ব্যবহৃত হয়, অর্থাৎ ডেটার কতটুকু অংশ মডেল দ্বারা ব্যাখ্যা করা সম্ভব

R-Squared এর মান:

  • 0 থেকে 1 এর মধ্যে থাকে।
  • R² = 1: সম্পূর্ণ সঠিক পূর্বানুমান (perfect prediction), যেখানে মডেল 100% পরিবর্তন ব্যাখ্যা করতে সক্ষম।
  • R² = 0: পূর্বানুমান একেবারেই সঠিক নয়, যেখানে মডেল কোন ভ্যারিয়েশন ব্যাখ্যা করতে সক্ষম নয়।
  • R² < 0: মডেলটি সরাসরি খারাপ, এবং এর থেকে বেটার পূর্বানুমান সরল গড় ব্যবহার করা হতে পারে।

R-Squared এর সূত্র:

R2=1i=1n(yiy^i)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: আসল ভ্যালু (True value)
  • y^i\hat{y}_i: পূর্বানুমান (Predicted value)
  • yˉ\bar{y}: আসল ভ্যালুর গড়

উদাহরণ:

from sklearn.metrics import r2_score

# আসল এবং পূর্বানুমান ভ্যালু
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]

# R-Squared ক্যালকুলেশন
r2 = r2_score(y_true, y_pred)
print("R-Squared:", r2)

২. Mean Squared Error (MSE)

Mean Squared Error (MSE) একটি স্ট্যাটিস্টিক্যাল পরিমাপ যা মডেলের পূর্বানুমানগুলির এবং আসল ভ্যালুগুলির মধ্যে গড় বর্গমূল ত্রুটি (squared error) নির্ধারণ করে। এটি মডেলের পূর্বানুমানগুলির সঠিকতা মাপতে ব্যবহৃত হয়। সাধারণত MSE কম থাকা ভাল, কারণ এর মান যত কম, মডেলের পূর্বানুমান ততই সঠিক।

MSE এর সূত্র:

MSE=1ni=1n(yiy^i)2MSE = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2

  • yiy_i: আসল ভ্যালু
  • y^i\hat{y}_i: পূর্বানুমান
  • nn: নমুনার সংখ্যা

উদাহরণ:

from sklearn.metrics import mean_squared_error

# আসল এবং পূর্বানুমান ভ্যালু
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]

# MSE ক্যালকুলেশন
mse = mean_squared_error(y_true, y_pred)
print("Mean Squared Error:", mse)

৩. Root Mean Squared Error (RMSE)

Root Mean Squared Error (RMSE) হল MSE এর বর্গমূল। এটি আসল ত্রুটির একটি প্রাকৃতিক পরিমাপ হিসেবে কাজ করে এবং এই কারণে এটি ব্যবহারিকভাবে অধিক স্বচ্ছ। RMSE বেশি হলে বুঝতে হবে মডেলের পূর্বানুমান ত্রুটি বেশি।

RMSE এর সূত্র:

RMSE=MSERMSE = \sqrt{MSE}

উদাহরণ:

import numpy as np

# RMSE ক্যালকুলেশন
rmse = np.sqrt(mse)
print("Root Mean Squared Error:", rmse)

সারাংশ

  • R-Squared (R²): মডেলটি ডেটার ভ্যারিয়েশন কতটা ব্যাখ্যা করতে সক্ষম তার একটি পরিমাপ। এটি 0 থেকে 1 এর মধ্যে থাকে, যেখানে 1 মানে মডেলটি পুরোপুরি সঠিক পূর্বানুমান করছে।
  • Mean Squared Error (MSE): পূর্বানুমান ত্রুটির গড় বর্গমূল। এটি মডেলের ত্রুটির একটি পরিমাপ, এবং কম MSE মানে মডেল ভালো পূর্বানুমান করছে।
  • Root Mean Squared Error (RMSE): MSE এর বর্গমূল, যা আরও প্রাকৃতিক ত্রুটি পরিমাপ প্রদান করে।

এই ইভ্যালুয়েশন মেট্রিক্সগুলির মাধ্যমে আপনি আপনার রিগ্রেশন মডেলগুলোর কর্মক্ষমতা পর্যালোচনা করতে পারেন এবং মডেলকে আরও উন্নত করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...