xgboostclassifier xgb tree_method predict_proba datacamp python machine-learning save xgboost

python - predict_proba - xgboost tree_method



¿Cómo guardar y cargar el modelo xgboost? (2)

En el enlace de la guía XGBoost ,

  1. El modelo se puede guardar. bst.save_model(''0001.model'')
  2. 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
  3. 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 :

  1. ¿ save_model es la diferencia entre save_model y dump_model ?
  2. ¿ ''0001.model'' es la diferencia entre guardar ''0001.model'' y ''dump.raw.txt'',''featmap.txt'' ?
  3. ¿Por qué el nombre de modelo para cargar model.bin es diferente del nombre que se guardará en 0001.model ?
  4. Supongamos que model_A dos modelos model_A y model_B . Quería guardar ambos modelos para usarlos en el futuro. ¿Qué función de save y load 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)