Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This updates to
libxgboost
version 2.0 thanks to @tylerjthomas9 update of the JLL.Surprisingly little seems to have changed (at least as far as breaking changes in the interface are concerned). The only real difference seems to be in model and
DMatrix
inputs and outputs, which appear to have been sanitized somewhat.libxgboost
now requires the format of a file from which admatrix
is loaded to be explicitly specified. Unfortunately, in order for this not to cause a breaking change, we have to default this format tolibsvm
. This is undesirable becausesave
exports a different file format, whichlibxgboost
does not name which I am calling:binary
. I badly wanted to change this, but I can't justify breaking it. Furthermore, saving boosters in a binary format usingSaveModel
seems to be deprecated (according to warnings, it's not documented in the API). I have changed this default behavior, but I feel this is safer since the modelload
function reads JSON by default in both versions, so at least within XGBoost.jl this is an improvement.Note that I have dropped support for
libxgboost
1 in this version. This makes things far simpler (primarily because the C calls have changed slightly) and I don't see any particularly compelling reasons why this should support older versions oflibxgboost
, users who want to do that can simply use XGBoost.jl 2.3 and they won't be missing much.Alternatively, we could release a lightly breaking 3.0 wrapper in which we can clean up these file options once and for-all and make a few other small sanitization changes, however that seems very hard to justify for a package this widely used, I tried to do what I thought would make the largest number of people happy.