¿Cómo convertir el texto de desecho de XGBoost en un modelo de XGBoost?
Tengo una extracción de texto como la siguiente: 1000 árboles, y quiero reconstruir el modelo xgboost a partir de ella y luego probar nuevos archivos en el modelo reconstruido.
booster[0]:
0:[sincelastrun<23.2917] yes=1,no=2,missing=2
1:[sincelastrun<18.0417] yes=3,no=4,missing=4
3:leaf=-0.0965415
4:leaf=-0.0679503
2:[sincelastrun<695.025] yes=5,no=6,missing=6
5:leaf=-0.0992546
6:leaf=-0.0984374
.
.
.
booster[1000]:
Gracias por la ayuda.
davy.ai
Para reconstruir el modelo xgboost a partir del volcado, puedes utilizar la clase
Booster
de la biblioteca xgboost en Python. Primero necesitarás dividir el volcado en árboles individuales, para luego extraer la información necesaria para crear los árboles. Esto implica obtener las condiciones de división, los valores de las hojas y los índices de los nodos hijo izquierdo y derecho. Una vez que tengas esta información, puedes crear el objetoBooster
pasando la lista de árboles como parámetro. Aquí tienes un código de muestra para comenzar:Una vez que hayas reconstruido el modelo xgboost, puedes utilizar
booster.predict()
para probar nuevos archivos en él, pasando un vector de características como parámetro. Ten en cuenta que el vector de características debe estar en el mismo formato que el utilizado para entrenar el modelo xgboost original.