উদাহরণসহ মডেল ইভ্যালুয়েশন প্রক্রিয়া

মডেল ইভ্যালুয়েশন এবং Performance Metrics - এক্সজিবুস্ট (XGBoost) - Latest Technologies

274

XGBoost এ মডেল ইভ্যালুয়েশন প্রক্রিয়া ক্লাসিফিকেশন বা রিগ্রেশন মডেলের কার্যকারিতা নির্ধারণ করার একটি গুরুত্বপূর্ণ ধাপ। এখানে আমি একটি ক্লাসিফিকেশন সমস্যার জন্য XGBoost মডেলের উদাহরণসহ মডেল ইভ্যালুয়েশন প্রক্রিয়া তুলে ধরছি।

উদাহরণ: XGBoost দিয়ে একটি বাইনারি ক্লাসিফিকেশন মডেল ইভ্যালুয়েশন

ধরা যাক, আমাদের কাছে একটি ডেটাসেট আছে যেখানে আমরা দুইটি ক্লাস (0 এবং 1) প্রেডিক্ট করতে চাই। আমরা মডেল ট্রেন করব এবং Accuracy, Precision, এবং Recall দিয়ে ইভ্যালুয়েট করব।

ধাপ ১: প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করা

import xgboost as xgb
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, precision_score, recall_score
from sklearn.datasets import load_breast_cancer

ধাপ ২: ডেটাসেট লোড এবং ট্রেন-টেস্ট স্প্লিট করা

# উদাহরণ হিসেবে ব্রেস্ট ক্যান্সার ডেটাসেট ব্যবহার করা হচ্ছে
data = load_breast_cancer()
X = data.data
y = data.target

# ট্রেন-টেস্ট ডেটা স্প্লিট
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

ধাপ ৩: XGBoost মডেল তৈরি এবং প্রশিক্ষণ

# XGBoost এর DMatrix ফরম্যাটে ডেটা সেট করা
train_dmatrix = xgb.DMatrix(data=X_train, label=y_train)
test_dmatrix = xgb.DMatrix(data=X_test, label=y_test)

# মডেল প্যারামিটার সেট করা
params = {
    'objective': 'binary:logistic',  # বাইনারি ক্লাসিফিকেশন
    'eval_metric': 'logloss',        # লগ লস মেট্রিক
    'max_depth': 4,
    'eta': 0.1,
    'seed': 42
}

# মডেল প্রশিক্ষণ করা
bst = xgb.train(params, train_dmatrix, num_boost_round=100)

ধাপ ৪: মডেলের প্রেডিকশন করা

# টেস্ট ডেটার উপর প্রেডিকশন করা
y_pred_prob = bst.predict(test_dmatrix)
y_pred = [1 if prob > 0.5 else 0 for prob in y_pred_prob]  # 0.5 থ্রেশহোল্ড ব্যবহার করে ক্লাসিফিকেশন

ধাপ ৫: মেট্রিক্স দিয়ে মডেল ইভ্যালুয়েশন

# Accuracy গণনা
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)

# Precision গণনা
precision = precision_score(y_test, y_pred)
print("Precision:", precision)

# Recall গণনা
recall = recall_score(y_test, y_pred)
print("Recall:", recall)

মেট্রিক্স বিশ্লেষণ

  • Accuracy: মডেলের সাধারণ পারফরম্যান্স নির্দেশ করে। যদি এটি বেশি হয়, তবে মডেল সঠিকভাবে অধিকাংশ ইনপুট প্রেডিক্ট করতে পারছে।
  • Precision: মডেল কতটুকু নির্ভুলভাবে পজিটিভ ক্লাস প্রেডিক্ট করছে তা দেখায়। যদি এটি বেশি হয়, তবে ভুল পজিটিভ প্রেডিকশন কম।
  • Recall: মডেল কতটুকু সঠিকভাবে পজিটিভ ক্লাস শনাক্ত করছে তা জানায়। এটি যদি বেশি হয়, তবে ভুল নেগেটিভ প্রেডিকশন কম।

সারসংক্ষেপ

এই উদাহরণটি XGBoost ব্যবহার করে একটি বাইনারি ক্লাসিফিকেশন মডেল তৈরি করা এবং সেটি Accuracy, Precision, এবং Recall মেট্রিক্সের মাধ্যমে ইভ্যালুয়েট করার প্রক্রিয়া তুলে ধরেছে। মেট্রিক্সগুলির মান বিশ্লেষণ করে মডেলটির কার্যকারিতা মূল্যায়ন করা যায় এবং প্রয়োজনে হাইপারপ্যারামিটার টিউনিং বা মডেল অপ্টিমাইজেশন করা যেতে পারে।

Promotion

Are you sure to start over?

Loading...