XGBoost মডেল সেভ এবং পুনরায় লোড করা

Model Deployment এবং Serialization - এক্সজিবুস্ট (XGBoost) - Latest Technologies

330

XGBoost মডেল সেভ এবং পুনরায় লোড করা বেশ সহজ। XGBoost লাইব্রেরিতে এই কাজটি করার জন্য দুটি পদ্ধতি রয়েছে: ১. বাইনারি ফাইল হিসাবে মডেল সংরক্ষণ এবং ২. বুস্টার অবজেক্ট হিসাবে মডেল সংরক্ষণ। নিচে এই দুটি পদ্ধতির উদাহরণ দেওয়া হলো:

১. বাইনারি ফাইল হিসাবে মডেল সেভ করা

XGBoost মডেলটি বাইনারি ফাইল হিসাবে সেভ করার জন্য .save_model() ফাংশন ব্যবহার করা হয়।

import xgboost as xgb

# মডেল তৈরি এবং প্রশিক্ষণ
xgb_model = xgb.XGBRegressor(objective='reg:squarederror', n_estimators=100, max_depth=6, learning_rate=0.1)
xgb_model.fit(X_train, y_train)

# মডেল সেভ করা
xgb_model.save_model("xgb_model.json")

২. বাইনারি ফাইল থেকে মডেল পুনরায় লোড করা

একইভাবে মডেল লোড করার জন্য .load_model() ফাংশন ব্যবহার করা হয়।

# মডেল লোড করা
loaded_model = xgb.XGBRegressor()
loaded_model.load_model("xgb_model.json")

# লোড করা মডেলের সাথে পূর্বের মতো প্রেডিকশন করা
predictions = loaded_model.predict(X_test)

বুস্টার অবজেক্ট ব্যবহার করে মডেল সংরক্ষণ

XGBoost মডেলকে বুস্টার অবজেক্ট হিসেবে সেভ এবং লোড করার আরেকটি উপায় রয়েছে।

৩. বুস্টার অবজেক্ট হিসেবে মডেল সংরক্ষণ

# মডেলটি প্রশিক্ষিত করার পর একটি বুস্টার অবজেক্ট হিসাবে সংরক্ষণ
booster = xgb_model.get_booster()
booster.save_model("booster_model.bin")

৪. বুস্টার অবজেক্ট থেকে মডেল পুনরায় লোড করা

# বুস্টার অবজেক্ট লোড করা
loaded_booster = xgb.Booster()
loaded_booster.load_model("booster_model.bin")

# লোড করা বুস্টার অবজেক্টের সাথে প্রেডিকশন করা
dtest = xgb.DMatrix(X_test)
predictions = loaded_booster.predict(dtest)

সংক্ষেপে

  • .save_model() এবং .load_model() মডেল সংরক্ষণ ও লোড করার জন্য সহজ পদ্ধতি।
  • বুস্টার অবজেক্ট ব্যবহার করলে আপনি আরও কাস্টমাইজড অপশন পাবেন, যেমন DMatrix ব্যবহার করে ইনপুট ডেটার সাথে কাজ করা।

এভাবে XGBoost মডেল সংরক্ষণ এবং পুনরায় লোড করা সম্ভব, যা মডেল ডেপ্লয়মেন্ট এবং পুনঃব্যবহারের জন্য অত্যন্ত উপকারী।

Promotion

Are you sure to start over?

Loading...