python - predict_proba - xgboost tree_method
¿Cómo guardar y cargar el modelo xgboost? (2)
En el enlace de la guía XGBoost ,
- El modelo se puede guardar.
bst.save_model(''0001.model'')
- El modelo y su mapa de características también se pueden volcar en un archivo de texto.
bst.dump_model(''dump.raw.txt'') # dump model bst.dump_model(''dump.raw.txt'',''featmap.txt'')# dump model with feature map
- Un modelo guardado se puede cargar de la siguiente manera:
bst = xgb.Booster({''nthread'':4}) #init model bst.load_model("model.bin") # load data
Mi pregunta es :
- ¿
save_model
es la diferencia entresave_model
ydump_model
? - ¿
''0001.model''
es la diferencia entre guardar''0001.model''
y''dump.raw.txt'',''featmap.txt''
? - ¿Por qué el nombre de modelo para cargar
model.bin
es diferente del nombre que se guardará en0001.model
? - Supongamos que
model_A
dos modelosmodel_A
ymodel_B
. Quería guardar ambos modelos para usarlos en el futuro. ¿Qué función desave
yload
debo usar? ¿Podrías ayudar a mostrar el proceso claro?
Ambas funciones, save_model
y dump_model
guardan el modelo, la diferencia es que en dump_model
puede guardar el nombre de la entidad y el árbol en formato de texto.
El load_model
funcionará con el modelo de save_model
. El modelo de dump_model
se puede usar, por ejemplo, con xgbfi .
Durante la carga del modelo, debe especificar la ruta donde se guardan los modelos. En el ejemplo, el bst.load_model("model.bin")
se carga desde el archivo model.bin
- es solo un nombre del archivo con el modelo. ¡Buena suerte!
Una forma fácil de guardar y cargar un modelo xgboost es con la biblioteca joblib.
import joblib
#save model
joblib.dump(xgb, filename)
#load saved model
xgb = joblib.load(filename)