উদাহরণসহ একটি বেসিক মডেল তৈরি করা

মডেল ট্রেনিং এবং প্রেডিকশন - এক্সজিবুস্ট (XGBoost) - Latest Technologies

359

XGBoost দিয়ে একটি বেসিক মডেল তৈরি করার জন্য আমরা সহজ এবং পরিচিত ইরিস ডেটাসেট ব্যবহার করবো। এই ডেটাসেটটি সাধারণত ক্লাসিফিকেশন সমস্যায় ব্যবহৃত হয় এবং এটি তিনটি ফুলের প্রজাতি চিহ্নিত করার জন্য ফিচার (যেমন পেটাল লেন্থ, পেটাল উইডথ) ব্যবহার করে। নিচে XGBoost দিয়ে একটি বেসিক মডেল তৈরি করার ধাপ এবং উদাহরণ দেওয়া হয়েছে:

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

প্রথমে, প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করতে হবে, যেমন XGBoost, Scikit-learn এর ডেটাসেট এবং মেট্রিক্স ফাংশনগুলো।

import xgboost as xgb
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

ধাপ ২: ডেটাসেট লোড করা এবং ভাগ করা

ইরিস ডেটাসেট লোড করা এবং ট্রেন এবং টেস্ট ডেটাসেটে ভাগ করা হবে।

# ইরিস ডেটাসেট লোড করা
iris = load_iris()
X = iris.data  # ফিচার
y = iris.target  # লেবেল

# ট্রেন এবং টেস্ট ডেটা ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

ধাপ ৩: DMatrix তৈরি করা

XGBoost-এর নিজস্ব ডেটা ফরম্যাট DMatrix ব্যবহার করা হবে, যা দ্রুত প্রক্রিয়াকরণের জন্য উপযোগী।

# DMatrix ফরম্যাটে ডেটা কনভার্ট করা
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test, label=y_test)

ধাপ ৪: প্যারামিটার সেট করা

মডেলের জন্য প্রয়োজনীয় প্যারামিটারগুলো নির্ধারণ করা হবে।

# মডেলের প্যারামিটার সেট করা
params = {
    'objective': 'multi:softmax',  # মাল্টি-ক্লাস ক্লাসিফিকেশনের জন্য
    'num_class': 3,                # ইরিস ডেটাসেটের ৩টি ক্লাস আছে
    'max_depth': 4,                # গাছের গভীরতা
    'learning_rate': 0.1,          # লার্নিং রেট
}

ধাপ ৫: মডেল ট্রেনিং করা

XGBoost মডেল ট্রেন করতে xgb.train() ফাংশন ব্যবহার করা হবে।

# মডেল ট্রেনিং করা
bst = xgb.train(params, dtrain, num_boost_round=10)

ধাপ ৬: প্রেডিকশন করা

টেস্ট ডেটার ওপর মডেলটি প্রেডিকশন করবে।

# প্রেডিকশন করা
y_pred = bst.predict(dtest)

ধাপ ৭: মডেল মূল্যায়ন করা

মডেলের একুরেসি পরীক্ষা করা হবে।

# একুরেসি পরীক্ষা করা
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

সম্পূর্ণ কোড একত্রে:

import xgboost as xgb
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# ইরিস ডেটাসেট লোড করা
iris = load_iris()
X = iris.data  # ফিচার
y = iris.target  # লেবেল

# ট্রেন এবং টেস্ট ডেটা ভাগ করা
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# DMatrix ফরম্যাটে ডেটা কনভার্ট করা
dtrain = xgb.DMatrix(X_train, label=y_train)
dtest = xgb.DMatrix(X_test, label=y_test)

# মডেলের প্যারামিটার সেট করা
params = {
    'objective': 'multi:softmax',  # মাল্টি-ক্লাস ক্লাসিফিকেশনের জন্য
    'num_class': 3,                # ইরিস ডেটাসেটের ৩টি ক্লাস আছে
    'max_depth': 4,                # গাছের গভীরতা
    'learning_rate': 0.1,          # লার্নিং রেট
}

# মডেল ট্রেনিং করা
bst = xgb.train(params, dtrain, num_boost_round=10)

# প্রেডিকশন করা
y_pred = bst.predict(dtest)

# একুরেসি পরীক্ষা করা
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")

মডেলের কার্যকারিতা

এই উদাহরণটি XGBoost দিয়ে একটি বেসিক ক্লাসিফিকেশন মডেল তৈরি এবং ট্রেনিং করার প্রক্রিয়া দেখায়। মডেলটি ইরিস ডেটাসেটে কাজ করছে, যা একটি জনপ্রিয় ডেটাসেট এবং তিনটি ফুলের প্রজাতি (setosa, versicolor, virginica) চিহ্নিত করে। মডেলটি প্রেডিকশন করতে এবং সঠিকভাবে কাজ করতে পারছে কি না, তা পরীক্ষা করার জন্য একুরেসি চেক করা হয়েছে।

সংক্ষেপে:

  • এই উদাহরণটি দেখায় কীভাবে XGBoost দিয়ে একটি বেসিক মডেল তৈরি করা যায়।
  • XGBoost-এর DMatrix, Hyperparameter সেটিং, এবং Model Training এর মাধ্যমে একটি কার্যকর মডেল তৈরি করা সহজ।
  • মডেলটিকে আরও উন্নত করতে Hyperparameter Tuning এবং Feature Engineering প্রয়োগ করা যেতে পারে।

এই ধাপগুলো অনুসরণ করে আপনি XGBoost-এ আরও জটিল এবং বাস্তবসম্মত মডেল তৈরি করতে পারবেন।

Promotion

Are you sure to start over?

Loading...