Pada tautan panduan XGBoost,
bst.save_model('0001.model')
bst.dump_model('dump.raw.txt') # dump model
bst.dump_model('dump.raw.txt','featmap.txt')# dump model dengan peta fitur
bst = xgb.Booster({'nthread':4}) #init model
bst.load_model("model.bin") #memuat data
Pertanyaan saya adalah:
save_model
&; dump_model
?'0001.model'
dan 'dump.raw.txt','featmap.txt'
?model.bin
berbeda dengan nama yang akan disimpan 0001.model
?model_A```` dan
model_B, saya ingin menyimpan kedua model tersebut untuk digunakan di masa depan, fungsi `save` &;
load``` mana yang harus saya gunakan? Bisakah anda membantu menunjukkan proses yang jelas?Kedua fungsi save_model
dan dump_model
menyimpan model, perbedaannya adalah bahwa dalam dump_model
Anda dapat menyimpan nama fitur dan menyimpan pohon dalam format teks.
load_model
akan bekerja dengan model dari save_model
. Model dari dump_model
dapat digunakan misalnya dengan xgbfi.
Selama memuat model, Anda perlu menentukan path dimana model Anda disimpan. Pada contoh bst.load_model("model.bin")
model dimuat dari file model.bin
- itu hanya nama file dengan model. Semoga berhasil!
Saya menemukan jalan ke sini karena saya sedang mencari cara untuk menyimpan dan memuat model xgboost saya. Inilah cara saya memecahkan masalah saya:
import pickle
file_name = "xgb_reg.pkl"
# save
pickle.dump(xgb_model, open(file_name, "wb"))
# load
xgb_model_loaded = pickle.load(open(file_name, "rb"))
# test
ind = 1
test = X_val[ind]
xgb_model_loaded.predict(test)[0] == xgb_model.predict(test)[0]
Out[1]: True