Repository navigation
v0.4.5
·
3 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
hessboost v0.4.5
hessboost v0.4.5 adds the reg:exceedance objective for predicting
Full Changelog: v0.4.4...v0.4.5
Highlights Since v0.4.4
Exceedance Probability Objective
-
objective = "reg:exceedance"with strictly increasingexceedance_threshold = [k_1, …, k_K]trains one model predicting$P(y \ge k_j)$ per threshold, replacing$K$ separatebinary:logisticclassifiers (#194). - Output
$j$ 's margin is the logit of$P(y \ge k_j)$ , and each row's probabilities are rearranged so predictions are monotone (never increasing with$j$ ). - Defaults to the
exceedance-loglossmetric, works with either one tree per threshold ormulti_strategy = multi_output_tree, and exposes thresholds in Python viaBooster.exceedance_thresholds. - Stored in native and compact formats via a
REQUIREDsection (older readers refuse to load it); XGBoost export refusesreg:exceedancemodels.
Purged Folds and Early-Stopping Tails
PurgedTailcan cut the early-stopping tail by row count (TailCut::Rows; PythonPurgedTail(..., cut="rows")) in addition to the default span cut (#193).Fold::purged_forward_rowsandFold::purged_forward_at_rows(Pythonrows=onpurged_forwardandpurged_forward_at, accepting indices or a boolean mask) build purged folds over selected rows only and return indices in original row numbering.
What-If Variant Predictions and Margin Bounds
RowVariantswithBoostedModel::predict_margin_variants_intoandBoostedModel::predict_variants_into(PythonBooster.predict_variants(base, features, values, *, output_margin=False, iteration_range=None)) scores many variants of a few features against one base row without materializing rows, producing results bit-identical to per-row prediction at 1.5×–7.4× the speed of 300 single-row calls depending on model depth and the share of varying splits (#195).BoostedModel::margin_bounds_into(PythonBooster.margin_bounds(lower, upper, *, iteration_range=None)) bounds every row's margin within a[lower, upper]feature box in 2–19 µs per call.
Pull Requests by Category
Features
- feat(training): purged folds over a row subset and row-count early-stopping tails (#193)
- feat(objective): reg:exceedance, one model of P(y >= k) over a threshold ladder (#194)
- feat(model): what-if predictions for row variants and margin bounds over a box (#195)
Misc
- fix(release): sign release tags (#191)