dmlc / XGBoost.jl

XGBoost Julia Package
Other
288 stars 110 forks source link

Store feature names in booster. #122

Open trivialfis opened 1 year ago

trivialfis commented 1 year ago

https://github.com/dmlc/XGBoost.jl/blob/cf09726145338c198a2abc71b95511e0fc2b7f6b/src/booster.jl#L43

The attribute can be stored in booster and saved as long as json/ubj is used as file format.

ExpandingMan commented 1 year ago

I think you are referring to the fact that the other Julia struct fields, presently feature_names and params, don't get stored along with the underlying booster object.

I agree this is not ideal, but I don't see a way around it that does not have its own significant drawbacks. The real problem is that we want this stuff to be stored in the C struct, not the Julia struct. The biggest problem I foresee with saving the Julia struct fields is that the saved file would not be compatible with the loading functions provided by libxgboost, at least without extracting the booster first.

I'm open to suggestions.