hessboost 0.2.3__tar.gz → 0.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (626) hide show
  1. {hessboost-0.2.3 → hessboost-0.2.4}/Cargo.toml +1 -1
  2. {hessboost-0.2.3 → hessboost-0.2.4}/PKG-INFO +62 -7
  3. {hessboost-0.2.3 → hessboost-0.2.4}/README.md +5 -1
  4. {hessboost-0.2.3 → hessboost-0.2.4}/python/Cargo.lock +3 -2
  5. {hessboost-0.2.3 → hessboost-0.2.4}/python/Cargo.toml +3 -1
  6. {hessboost-0.2.3 → hessboost-0.2.4}/python/README.md +61 -6
  7. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/__init__.py +14 -0
  8. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_booster.py +324 -2
  9. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_hessboost.pyi +32 -9
  10. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_training.py +176 -25
  11. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/target_stats.py +69 -12
  12. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/booster.rs +114 -3
  13. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/data.rs +2 -1
  14. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/errors.rs +7 -4
  15. hessboost-0.2.4/python/src/info.rs +254 -0
  16. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/lib.rs +13 -1
  17. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/online.rs +59 -15
  18. hessboost-0.2.4/python/src/pool.rs +116 -0
  19. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/target_stats.rs +23 -2
  20. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/train.rs +152 -66
  21. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_ebm.py +37 -0
  22. hessboost-0.2.4/python/tests/test_fork.py +72 -0
  23. hessboost-0.2.4/python/tests/test_model_info.py +209 -0
  24. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_online.py +79 -5
  25. hessboost-0.2.4/python/tests/test_prediction.py +219 -0
  26. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_target_stats.py +126 -1
  27. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_training.py +108 -0
  28. {hessboost-0.2.3 → hessboost-0.2.4}/src/backend/shared.rs +1 -1
  29. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/params.rs +6 -31
  30. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/dmatrix.rs +146 -64
  31. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/mod.rs +3 -1
  32. hessboost-0.2.4/src/data/rows.rs +55 -0
  33. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/mod.rs +3 -2
  34. {hessboost-0.2.3 → hessboost-0.2.4}/src/ebm/mod.rs +31 -13
  35. {hessboost-0.2.3 → hessboost-0.2.4}/src/lib.rs +18 -1
  36. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/compact/mod.rs +7 -11
  37. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/mod.rs +102 -33
  38. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/native.rs +3 -1
  39. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/predict.rs +486 -116
  40. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/serde.rs +1 -0
  41. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/shap.rs +3 -3
  42. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/shrinkage.rs +27 -20
  43. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/slice.rs +2 -0
  44. hessboost-0.2.4/src/model/transform.rs +133 -0
  45. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/uncertainty.rs +4 -18
  46. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/classification.rs +5 -1
  47. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/count.rs +3 -3
  48. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/mod.rs +10 -0
  49. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/multiclass.rs +9 -3
  50. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/spec.rs +4 -11
  51. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/survival/aft.rs +2 -3
  52. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/survival/cox.rs +5 -3
  53. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/survival/mod.rs +0 -8
  54. {hessboost-0.2.3 → hessboost-0.2.4}/src/simd/aarch64.rs +35 -183
  55. {hessboost-0.2.3 → hessboost-0.2.4}/src/simd/mod.rs +11 -57
  56. {hessboost-0.2.3 → hessboost-0.2.4}/src/simd/tests.rs +4 -140
  57. {hessboost-0.2.3 → hessboost-0.2.4}/src/simd/x86_64.rs +13 -72
  58. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/api.rs +16 -3
  59. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/budget.rs +1 -1
  60. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/cv/mod.rs +272 -72
  61. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/ebm/boulevard.rs +86 -20
  62. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/ebm/classic.rs +78 -29
  63. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/ebm/mod.rs +111 -37
  64. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/eval.rs +28 -13
  65. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/gblinear.rs +1 -1
  66. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/margins.rs +4 -4
  67. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/mod.rs +3 -2
  68. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/online/mod.rs +1 -1
  69. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/train.rs +27 -11
  70. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/validate.rs +10 -6
  71. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/compact.rs +60 -50
  72. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/linear.rs +7 -4
  73. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/regtree.rs +34 -4
  74. hessboost-0.2.4/tests/cv.rs +240 -0
  75. hessboost-0.2.4/tests/data/saved/0.2.4/aft.bin +0 -0
  76. hessboost-0.2.4/tests/data/saved/0.2.4/aft.hbtd +0 -0
  77. hessboost-0.2.4/tests/data/saved/0.2.4/aft.json +694 -0
  78. hessboost-0.2.4/tests/data/saved/0.2.4/aft.margins +7 -0
  79. hessboost-0.2.4/tests/data/saved/0.2.4/categorical_splits.bin +0 -0
  80. hessboost-0.2.4/tests/data/saved/0.2.4/categorical_splits.hbtd +0 -0
  81. hessboost-0.2.4/tests/data/saved/0.2.4/categorical_splits.json +864 -0
  82. hessboost-0.2.4/tests/data/saved/0.2.4/categorical_splits.margins +5 -0
  83. hessboost-0.2.4/tests/data/saved/0.2.4/dart.bin +0 -0
  84. hessboost-0.2.4/tests/data/saved/0.2.4/dart.hbtd +0 -0
  85. hessboost-0.2.4/tests/data/saved/0.2.4/dart.json +850 -0
  86. hessboost-0.2.4/tests/data/saved/0.2.4/dart.margins +1 -0
  87. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_flow_matching.hbdm +0 -0
  88. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_flow_matching.hbdm.json +2874 -0
  89. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_flow_matching.hbdm.probe +1 -0
  90. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_score.hbdm +0 -0
  91. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_score.hbdm.json +2879 -0
  92. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_score.hbdm.probe +1 -0
  93. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_treeffuser_vp.hbdm +0 -0
  94. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_treeffuser_vp.hbdm.json +2526 -0
  95. hessboost-0.2.4/tests/data/saved/0.2.4/diffusion_treeffuser_vp.hbdm.probe +1 -0
  96. hessboost-0.2.4/tests/data/saved/0.2.4/dist_negbinomial.bin +0 -0
  97. hessboost-0.2.4/tests/data/saved/0.2.4/dist_negbinomial.hbtd +0 -0
  98. hessboost-0.2.4/tests/data/saved/0.2.4/dist_negbinomial.json +1173 -0
  99. hessboost-0.2.4/tests/data/saved/0.2.4/dist_negbinomial.margins +1 -0
  100. hessboost-0.2.4/tests/data/saved/0.2.4/dist_normal.bin +0 -0
  101. hessboost-0.2.4/tests/data/saved/0.2.4/dist_normal.hbtd +0 -0
  102. hessboost-0.2.4/tests/data/saved/0.2.4/dist_normal.json +1589 -0
  103. hessboost-0.2.4/tests/data/saved/0.2.4/dist_normal.margins +0 -0
  104. hessboost-0.2.4/tests/data/saved/0.2.4/dist_normal_vector_leaves.bin +0 -0
  105. hessboost-0.2.4/tests/data/saved/0.2.4/dist_normal_vector_leaves.json +975 -0
  106. hessboost-0.2.4/tests/data/saved/0.2.4/dist_normal_vector_leaves.margins +0 -0
  107. hessboost-0.2.4/tests/data/saved/0.2.4/early_stopping.bin +0 -0
  108. hessboost-0.2.4/tests/data/saved/0.2.4/early_stopping.hbtd +0 -0
  109. hessboost-0.2.4/tests/data/saved/0.2.4/early_stopping.json +798 -0
  110. hessboost-0.2.4/tests/data/saved/0.2.4/early_stopping.margins +1 -0
  111. hessboost-0.2.4/tests/data/saved/0.2.4/expectiles.bin +0 -0
  112. hessboost-0.2.4/tests/data/saved/0.2.4/expectiles.hbtd +0 -0
  113. hessboost-0.2.4/tests/data/saved/0.2.4/expectiles.json +1384 -0
  114. hessboost-0.2.4/tests/data/saved/0.2.4/expectiles.margins +0 -0
  115. hessboost-0.2.4/tests/data/saved/0.2.4/forest_diffusion.hbff +0 -0
  116. hessboost-0.2.4/tests/data/saved/0.2.4/forest_diffusion.hbff.json +127628 -0
  117. hessboost-0.2.4/tests/data/saved/0.2.4/forest_diffusion.hbff.probe +0 -0
  118. hessboost-0.2.4/tests/data/saved/0.2.4/forest_flow.hbff +0 -0
  119. hessboost-0.2.4/tests/data/saved/0.2.4/forest_flow.hbff.json +88629 -0
  120. hessboost-0.2.4/tests/data/saved/0.2.4/forest_flow.hbff.probe +3 -0
  121. hessboost-0.2.4/tests/data/saved/0.2.4/gblinear.bin +0 -0
  122. hessboost-0.2.4/tests/data/saved/0.2.4/gblinear.json +42 -0
  123. hessboost-0.2.4/tests/data/saved/0.2.4/gblinear.margins +0 -0
  124. hessboost-0.2.4/tests/data/saved/0.2.4/linear_leaves.bin +0 -0
  125. hessboost-0.2.4/tests/data/saved/0.2.4/linear_leaves.json +1066 -0
  126. hessboost-0.2.4/tests/data/saved/0.2.4/linear_leaves.margins +0 -0
  127. hessboost-0.2.4/tests/data/saved/0.2.4/multi_target.bin +0 -0
  128. hessboost-0.2.4/tests/data/saved/0.2.4/multi_target.hbtd +0 -0
  129. hessboost-0.2.4/tests/data/saved/0.2.4/multi_target.json +1615 -0
  130. hessboost-0.2.4/tests/data/saved/0.2.4/multi_target.margins +0 -0
  131. hessboost-0.2.4/tests/data/saved/0.2.4/multiclass_forest.bin +0 -0
  132. hessboost-0.2.4/tests/data/saved/0.2.4/multiclass_forest.hbtd +0 -0
  133. hessboost-0.2.4/tests/data/saved/0.2.4/multiclass_forest.json +6028 -0
  134. hessboost-0.2.4/tests/data/saved/0.2.4/multiclass_forest.margins +0 -0
  135. hessboost-0.2.4/tests/data/saved/0.2.4/quantiles.bin +0 -0
  136. hessboost-0.2.4/tests/data/saved/0.2.4/quantiles.hbtd +0 -0
  137. hessboost-0.2.4/tests/data/saved/0.2.4/quantiles.json +2358 -0
  138. hessboost-0.2.4/tests/data/saved/0.2.4/quantiles.margins +0 -0
  139. hessboost-0.2.4/tests/data/saved/0.2.4/vector_leaves.bin +0 -0
  140. hessboost-0.2.4/tests/data/saved/0.2.4/vector_leaves.json +1036 -0
  141. hessboost-0.2.4/tests/data/saved/0.2.4/vector_leaves.margins +0 -0
  142. {hessboost-0.2.3 → hessboost-0.2.4}/tests/diffusion.rs +9 -7
  143. hessboost-0.2.4/tests/dmatrix.rs +223 -0
  144. {hessboost-0.2.3 → hessboost-0.2.4}/tests/ebm.rs +228 -5
  145. hessboost-0.2.4/tests/row_prediction.rs +401 -0
  146. hessboost-0.2.4/tests/row_prediction_alloc.rs +161 -0
  147. hessboost-0.2.4/tests/row_prediction_pool.rs +59 -0
  148. {hessboost-0.2.3 → hessboost-0.2.4}/tests/tree_options.rs +106 -6
  149. {hessboost-0.2.3 → hessboost-0.2.4}/LICENSE +0 -0
  150. {hessboost-0.2.3 → hessboost-0.2.4}/benches/training.rs +0 -0
  151. {hessboost-0.2.3 → hessboost-0.2.4}/examples/balanced_bagging.rs +0 -0
  152. {hessboost-0.2.3 → hessboost-0.2.4}/examples/bench_compare.rs +0 -0
  153. {hessboost-0.2.3 → hessboost-0.2.4}/examples/binary_classification.rs +0 -0
  154. {hessboost-0.2.3 → hessboost-0.2.4}/examples/boulevard_inference.rs +0 -0
  155. {hessboost-0.2.3 → hessboost-0.2.4}/examples/budget.rs +0 -0
  156. {hessboost-0.2.3 → hessboost-0.2.4}/examples/common/mod.rs +0 -0
  157. {hessboost-0.2.3 → hessboost-0.2.4}/examples/compact_model.rs +0 -0
  158. {hessboost-0.2.3 → hessboost-0.2.4}/examples/conformal.rs +0 -0
  159. {hessboost-0.2.3 → hessboost-0.2.4}/examples/constraints.rs +0 -0
  160. {hessboost-0.2.3 → hessboost-0.2.4}/examples/custom_objective.rs +0 -0
  161. {hessboost-0.2.3 → hessboost-0.2.4}/examples/distributional.rs +0 -0
  162. {hessboost-0.2.3 → hessboost-0.2.4}/examples/ebm.rs +0 -0
  163. {hessboost-0.2.3 → hessboost-0.2.4}/examples/forest_flow.rs +0 -0
  164. {hessboost-0.2.3 → hessboost-0.2.4}/examples/metal.rs +0 -0
  165. {hessboost-0.2.3 → hessboost-0.2.4}/examples/model_io.rs +0 -0
  166. {hessboost-0.2.3 → hessboost-0.2.4}/examples/multiclass.rs +0 -0
  167. {hessboost-0.2.3 → hessboost-0.2.4}/examples/online_update.rs +0 -0
  168. {hessboost-0.2.3 → hessboost-0.2.4}/examples/ordered_target_stats.rs +0 -0
  169. {hessboost-0.2.3 → hessboost-0.2.4}/examples/pfn_boost.rs +0 -0
  170. {hessboost-0.2.3 → hessboost-0.2.4}/examples/rank_xendcg.rs +0 -0
  171. {hessboost-0.2.3 → hessboost-0.2.4}/examples/ranking.rs +0 -0
  172. {hessboost-0.2.3 → hessboost-0.2.4}/examples/shap.rs +0 -0
  173. {hessboost-0.2.3 → hessboost-0.2.4}/examples/train_regression.rs +0 -0
  174. {hessboost-0.2.3 → hessboost-0.2.4}/examples/tree_diffusion.rs +0 -0
  175. {hessboost-0.2.3 → hessboost-0.2.4}/examples/virtual_ensembles.rs +0 -0
  176. {hessboost-0.2.3 → hessboost-0.2.4}/examples/wgpu.rs +0 -0
  177. {hessboost-0.2.3 → hessboost-0.2.4}/pyproject.toml +0 -0
  178. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_core.py +0 -0
  179. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_data.py +0 -0
  180. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_exceptions.py +0 -0
  181. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_matrix.py +0 -0
  182. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_model_io.py +0 -0
  183. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_sklearn_base.pyi +0 -0
  184. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/_sklearn_common.py +0 -0
  185. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/conformal.py +0 -0
  186. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/diffusion/__init__.py +0 -0
  187. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/diffusion/forest.py +0 -0
  188. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/ebm.py +0 -0
  189. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/folds.py +0 -0
  190. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/inference.py +0 -0
  191. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/online.py +0 -0
  192. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/py.typed +0 -0
  193. {hessboost-0.2.3 → hessboost-0.2.4}/python/hessboost/sklearn.py +0 -0
  194. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/codec.rs +0 -0
  195. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/compact.rs +0 -0
  196. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/conformal.rs +0 -0
  197. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/diffusion.rs +0 -0
  198. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/dist.rs +0 -0
  199. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/ebm.rs +0 -0
  200. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/forest.rs +0 -0
  201. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/gpu.rs +0 -0
  202. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/inference.rs +0 -0
  203. {hessboost-0.2.3 → hessboost-0.2.4}/python/src/params.rs +0 -0
  204. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/conftest.py +0 -0
  205. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_compact.py +0 -0
  206. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_conformal.py +0 -0
  207. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_data.py +0 -0
  208. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_diffusion.py +0 -0
  209. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_forest.py +0 -0
  210. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_gpu.py +0 -0
  211. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_inference.py +0 -0
  212. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_model_io.py +0 -0
  213. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_params.py +0 -0
  214. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_polars.py +0 -0
  215. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_sklearn.py +0 -0
  216. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_stubs.py +0 -0
  217. {hessboost-0.2.3 → hessboost-0.2.4}/python/tests/test_threads.py +0 -0
  218. {hessboost-0.2.3 → hessboost-0.2.4}/src/backend/exact_sum.rs +0 -0
  219. {hessboost-0.2.3 → hessboost-0.2.4}/src/backend/metal.rs +0 -0
  220. {hessboost-0.2.3 → hessboost-0.2.4}/src/backend/mod.rs +0 -0
  221. {hessboost-0.2.3 → hessboost-0.2.4}/src/backend/wgpu.rs +0 -0
  222. {hessboost-0.2.3 → hessboost-0.2.4}/src/check.rs +0 -0
  223. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/groups.rs +0 -0
  224. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/mod.rs +0 -0
  225. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/xgboost/emit.rs +0 -0
  226. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/xgboost/mod.rs +0 -0
  227. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/xgboost/parse.rs +0 -0
  228. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/xgboost/schema.rs +0 -0
  229. {hessboost-0.2.3 → hessboost-0.2.4}/src/config/xgboost/tests.rs +0 -0
  230. {hessboost-0.2.3 → hessboost-0.2.4}/src/conformal.rs +0 -0
  231. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/ghist.rs +0 -0
  232. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/loaders.rs +0 -0
  233. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/meta.rs +0 -0
  234. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/quantile.rs +0 -0
  235. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/sketch.rs +0 -0
  236. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/sort.rs +0 -0
  237. {hessboost-0.2.3 → hessboost-0.2.4}/src/data/target_stats.rs +0 -0
  238. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/fit.rs +0 -0
  239. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/forest/encoding.rs +0 -0
  240. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/forest/fit.rs +0 -0
  241. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/forest/format.rs +0 -0
  242. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/forest/mod.rs +0 -0
  243. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/format.rs +0 -0
  244. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/io.rs +0 -0
  245. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/process.rs +0 -0
  246. {hessboost-0.2.3 → hessboost-0.2.4}/src/diffusion/sample.rs +0 -0
  247. {hessboost-0.2.3 → hessboost-0.2.4}/src/ebm/grid.rs +0 -0
  248. {hessboost-0.2.3 → hessboost-0.2.4}/src/error.rs +0 -0
  249. {hessboost-0.2.3 → hessboost-0.2.4}/src/inference/ebm.rs +0 -0
  250. {hessboost-0.2.3 → hessboost-0.2.4}/src/inference/kernel.rs +0 -0
  251. {hessboost-0.2.3 → hessboost-0.2.4}/src/inference/linalg.rs +0 -0
  252. {hessboost-0.2.3 → hessboost-0.2.4}/src/inference/mod.rs +0 -0
  253. {hessboost-0.2.3 → hessboost-0.2.4}/src/inference/refit.rs +0 -0
  254. {hessboost-0.2.3 → hessboost-0.2.4}/src/inference/solver.rs +0 -0
  255. {hessboost-0.2.3 → hessboost-0.2.4}/src/inference/term_kernel.rs +0 -0
  256. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/curve.rs +0 -0
  257. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/distributional.rs +0 -0
  258. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/elementwise.rs +0 -0
  259. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/factory.rs +0 -0
  260. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/mod.rs +0 -0
  261. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/quantile.rs +0 -0
  262. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/ranking.rs +0 -0
  263. {hessboost-0.2.3 → hessboost-0.2.4}/src/metric/survival.rs +0 -0
  264. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/categories.rs +0 -0
  265. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/compact/bitstream.rs +0 -0
  266. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/compact/decode.rs +0 -0
  267. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/compact/encode.rs +0 -0
  268. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/compact/tests.rs +0 -0
  269. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/container.rs +0 -0
  270. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/embed.rs +0 -0
  271. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/io.rs +0 -0
  272. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/lightgbm.rs +0 -0
  273. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/objective.rs +0 -0
  274. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/predictions.rs +0 -0
  275. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/sections.rs +0 -0
  276. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/ubjson.rs +0 -0
  277. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/validate.rs +0 -0
  278. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/xgboost/document.rs +0 -0
  279. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/xgboost/mod.rs +0 -0
  280. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/xgboost/objective.rs +0 -0
  281. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/xgboost/parse.rs +0 -0
  282. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/xgboost/tests.rs +0 -0
  283. {hessboost-0.2.3 → hessboost-0.2.4}/src/model/xgboost/tree.rs +0 -0
  284. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/absolute.rs +0 -0
  285. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/custom.rs +0 -0
  286. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/distributional/count.rs +0 -0
  287. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/distributional/dist.rs +0 -0
  288. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/distributional/family.rs +0 -0
  289. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/distributional/loss.rs +0 -0
  290. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/distributional/mod.rs +0 -0
  291. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/distributional/special.rs +0 -0
  292. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/distributional/tests.rs +0 -0
  293. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/multi_target.rs +0 -0
  294. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/params.rs +0 -0
  295. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/quantile.rs +0 -0
  296. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/query.rs +0 -0
  297. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/ranking.rs +0 -0
  298. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/regression.rs +0 -0
  299. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/survival/tests.rs +0 -0
  300. {hessboost-0.2.3 → hessboost-0.2.4}/src/objective/xendcg.rs +0 -0
  301. {hessboost-0.2.3 → hessboost-0.2.4}/src/rng.rs +0 -0
  302. {hessboost-0.2.3 → hessboost-0.2.4}/src/simd/aarch64/tests.rs +0 -0
  303. {hessboost-0.2.3 → hessboost-0.2.4}/src/simd/scalar.rs +0 -0
  304. {hessboost-0.2.3 → hessboost-0.2.4}/src/test_support.rs +0 -0
  305. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/boulevard.rs +0 -0
  306. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/continuation.rs +0 -0
  307. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/cv/fold.rs +0 -0
  308. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/dart.rs +0 -0
  309. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/ebm/fast.rs +0 -0
  310. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/multi_output.rs +0 -0
  311. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/online/cache.rs +0 -0
  312. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/online/update.rs +0 -0
  313. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/prepare.rs +0 -0
  314. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/refresh.rs +0 -0
  315. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/round.rs +0 -0
  316. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/row_sampling.rs +0 -0
  317. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/sampling.rs +0 -0
  318. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/sglb.rs +0 -0
  319. {hessboost-0.2.3 → hessboost-0.2.4}/src/training/train/tests.rs +0 -0
  320. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/budget.rs +0 -0
  321. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/categorical.rs +0 -0
  322. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/exact.rs +0 -0
  323. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/hist/mod.rs +0 -0
  324. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/hist/search.rs +0 -0
  325. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/lightgbm.rs +0 -0
  326. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/mod.rs +0 -0
  327. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/multi.rs +0 -0
  328. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/oblivious.rs +0 -0
  329. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/online.rs +0 -0
  330. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/partition.rs +0 -0
  331. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/shared.rs +0 -0
  332. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/builder/split.rs +0 -0
  333. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/constraints.rs +0 -0
  334. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/gain.rs +0 -0
  335. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/hist/mod.rs +0 -0
  336. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/hist/quantized.rs +0 -0
  337. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/hist/walk.rs +0 -0
  338. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/linear_fit.rs +0 -0
  339. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/mod.rs +0 -0
  340. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/oblivious.rs +0 -0
  341. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/reuse.rs +0 -0
  342. {hessboost-0.2.3 → hessboost-0.2.4}/src/tree/sampler.rs +0 -0
  343. {hessboost-0.2.3 → hessboost-0.2.4}/tests/boulevard.rs +0 -0
  344. {hessboost-0.2.3 → hessboost-0.2.4}/tests/budget.rs +0 -0
  345. {hessboost-0.2.3 → hessboost-0.2.4}/tests/common/bits.rs +0 -0
  346. {hessboost-0.2.3 → hessboost-0.2.4}/tests/common/fixtures.rs +0 -0
  347. {hessboost-0.2.3 → hessboost-0.2.4}/tests/common/gpu.rs +0 -0
  348. {hessboost-0.2.3 → hessboost-0.2.4}/tests/common/mod.rs +0 -0
  349. {hessboost-0.2.3 → hessboost-0.2.4}/tests/common/smooth.rs +0 -0
  350. {hessboost-0.2.3 → hessboost-0.2.4}/tests/continuation.rs +0 -0
  351. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/lightgbm-4.7.0-binary.expected.json +0 -0
  352. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/lightgbm-4.7.0-binary.txt +0 -0
  353. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/lightgbm-4.7.0-linear.expected.json +0 -0
  354. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/lightgbm-4.7.0-linear.txt +0 -0
  355. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/aft.bin +0 -0
  356. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/aft.hbtd +0 -0
  357. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/aft.json +0 -0
  358. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/aft.margins +0 -0
  359. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/categorical_splits.bin +0 -0
  360. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/categorical_splits.hbtd +0 -0
  361. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/categorical_splits.json +0 -0
  362. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/categorical_splits.margins +0 -0
  363. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dart.bin +0 -0
  364. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dart.hbtd +0 -0
  365. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dart.json +0 -0
  366. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dart.margins +0 -0
  367. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_negbinomial.bin +0 -0
  368. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_negbinomial.hbtd +0 -0
  369. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_negbinomial.json +0 -0
  370. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_negbinomial.margins +0 -0
  371. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_normal.bin +0 -0
  372. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_normal.hbtd +0 -0
  373. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_normal.json +0 -0
  374. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_normal.margins +0 -0
  375. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_normal_vector_leaves.bin +0 -0
  376. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_normal_vector_leaves.json +0 -0
  377. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/dist_normal_vector_leaves.margins +0 -0
  378. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/early_stopping.bin +0 -0
  379. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/early_stopping.hbtd +0 -0
  380. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/early_stopping.json +0 -0
  381. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/early_stopping.margins +0 -0
  382. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/expectiles.bin +0 -0
  383. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/expectiles.hbtd +0 -0
  384. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/expectiles.json +0 -0
  385. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/expectiles.margins +0 -0
  386. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/gblinear.bin +0 -0
  387. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/gblinear.json +0 -0
  388. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/gblinear.margins +0 -0
  389. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/linear_leaves.bin +0 -0
  390. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/linear_leaves.json +0 -0
  391. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/linear_leaves.margins +0 -0
  392. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multi_target.bin +0 -0
  393. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multi_target.hbtd +0 -0
  394. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multi_target.json +0 -0
  395. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multi_target.margins +0 -0
  396. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multiclass_forest.bin +0 -0
  397. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multiclass_forest.hbtd +0 -0
  398. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multiclass_forest.json +0 -0
  399. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/multiclass_forest.margins +0 -0
  400. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/quantiles.bin +0 -0
  401. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/quantiles.hbtd +0 -0
  402. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/quantiles.json +0 -0
  403. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/quantiles.margins +0 -0
  404. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/vector_leaves.bin +0 -0
  405. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/vector_leaves.json +0 -0
  406. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.0/vector_leaves.margins +0 -0
  407. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/aft.bin +0 -0
  408. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/aft.hbtd +0 -0
  409. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/aft.json +0 -0
  410. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/aft.margins +0 -0
  411. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/categorical_splits.bin +0 -0
  412. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/categorical_splits.hbtd +0 -0
  413. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/categorical_splits.json +0 -0
  414. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/categorical_splits.margins +0 -0
  415. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dart.bin +0 -0
  416. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dart.hbtd +0 -0
  417. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dart.json +0 -0
  418. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dart.margins +0 -0
  419. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_flow_matching.hbdm +0 -0
  420. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_flow_matching.hbdm.json +0 -0
  421. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_flow_matching.hbdm.probe +0 -0
  422. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_score.hbdm +0 -0
  423. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_score.hbdm.json +0 -0
  424. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_score.hbdm.probe +0 -0
  425. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_treeffuser_vp.hbdm +0 -0
  426. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_treeffuser_vp.hbdm.json +0 -0
  427. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/diffusion_treeffuser_vp.hbdm.probe +0 -0
  428. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_negbinomial.bin +0 -0
  429. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_negbinomial.hbtd +0 -0
  430. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_negbinomial.json +0 -0
  431. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_negbinomial.margins +0 -0
  432. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_normal.bin +0 -0
  433. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_normal.hbtd +0 -0
  434. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_normal.json +0 -0
  435. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_normal.margins +0 -0
  436. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_normal_vector_leaves.bin +0 -0
  437. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_normal_vector_leaves.json +0 -0
  438. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/dist_normal_vector_leaves.margins +0 -0
  439. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/early_stopping.bin +0 -0
  440. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/early_stopping.hbtd +0 -0
  441. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/early_stopping.json +0 -0
  442. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/early_stopping.margins +0 -0
  443. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/expectiles.bin +0 -0
  444. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/expectiles.hbtd +0 -0
  445. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/expectiles.json +0 -0
  446. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/expectiles.margins +0 -0
  447. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/forest_diffusion.hbff +0 -0
  448. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/forest_diffusion.hbff.json +0 -0
  449. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/forest_diffusion.hbff.probe +0 -0
  450. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/forest_flow.hbff +0 -0
  451. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/forest_flow.hbff.json +0 -0
  452. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/forest_flow.hbff.probe +0 -0
  453. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/gblinear.bin +0 -0
  454. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/gblinear.json +0 -0
  455. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/gblinear.margins +0 -0
  456. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/linear_leaves.bin +0 -0
  457. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/linear_leaves.json +0 -0
  458. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/linear_leaves.margins +0 -0
  459. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multi_target.bin +0 -0
  460. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multi_target.hbtd +0 -0
  461. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multi_target.json +0 -0
  462. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multi_target.margins +0 -0
  463. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multiclass_forest.bin +0 -0
  464. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multiclass_forest.hbtd +0 -0
  465. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multiclass_forest.json +0 -0
  466. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/multiclass_forest.margins +0 -0
  467. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/quantiles.bin +0 -0
  468. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/quantiles.hbtd +0 -0
  469. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/quantiles.json +0 -0
  470. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/quantiles.margins +0 -0
  471. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/vector_leaves.bin +0 -0
  472. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/vector_leaves.json +0 -0
  473. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.1/vector_leaves.margins +0 -0
  474. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/aft.bin +0 -0
  475. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/aft.hbtd +0 -0
  476. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/aft.json +0 -0
  477. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/aft.margins +0 -0
  478. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/categorical_splits.bin +0 -0
  479. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/categorical_splits.hbtd +0 -0
  480. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/categorical_splits.json +0 -0
  481. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/categorical_splits.margins +0 -0
  482. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dart.bin +0 -0
  483. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dart.hbtd +0 -0
  484. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dart.json +0 -0
  485. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dart.margins +0 -0
  486. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_flow_matching.hbdm +0 -0
  487. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_flow_matching.hbdm.json +0 -0
  488. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_flow_matching.hbdm.probe +0 -0
  489. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_score.hbdm +0 -0
  490. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_score.hbdm.json +0 -0
  491. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_score.hbdm.probe +0 -0
  492. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_treeffuser_vp.hbdm +0 -0
  493. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_treeffuser_vp.hbdm.json +0 -0
  494. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/diffusion_treeffuser_vp.hbdm.probe +0 -0
  495. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_negbinomial.bin +0 -0
  496. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_negbinomial.hbtd +0 -0
  497. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_negbinomial.json +0 -0
  498. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_negbinomial.margins +0 -0
  499. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_normal.bin +0 -0
  500. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_normal.hbtd +0 -0
  501. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_normal.json +0 -0
  502. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_normal.margins +0 -0
  503. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_normal_vector_leaves.bin +0 -0
  504. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_normal_vector_leaves.json +0 -0
  505. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/dist_normal_vector_leaves.margins +0 -0
  506. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/early_stopping.bin +0 -0
  507. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/early_stopping.hbtd +0 -0
  508. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/early_stopping.json +0 -0
  509. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/early_stopping.margins +0 -0
  510. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/expectiles.bin +0 -0
  511. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/expectiles.hbtd +0 -0
  512. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/expectiles.json +0 -0
  513. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/expectiles.margins +0 -0
  514. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/forest_diffusion.hbff +0 -0
  515. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/forest_diffusion.hbff.json +0 -0
  516. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/forest_diffusion.hbff.probe +0 -0
  517. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/forest_flow.hbff +0 -0
  518. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/forest_flow.hbff.json +0 -0
  519. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/forest_flow.hbff.probe +0 -0
  520. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/gblinear.bin +0 -0
  521. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/gblinear.json +0 -0
  522. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/gblinear.margins +0 -0
  523. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/linear_leaves.bin +0 -0
  524. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/linear_leaves.json +0 -0
  525. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/linear_leaves.margins +0 -0
  526. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multi_target.bin +0 -0
  527. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multi_target.hbtd +0 -0
  528. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multi_target.json +0 -0
  529. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multi_target.margins +0 -0
  530. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multiclass_forest.bin +0 -0
  531. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multiclass_forest.hbtd +0 -0
  532. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multiclass_forest.json +0 -0
  533. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/multiclass_forest.margins +0 -0
  534. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/quantiles.bin +0 -0
  535. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/quantiles.hbtd +0 -0
  536. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/quantiles.json +0 -0
  537. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/quantiles.margins +0 -0
  538. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/vector_leaves.bin +0 -0
  539. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/vector_leaves.json +0 -0
  540. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.2/vector_leaves.margins +0 -0
  541. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/aft.bin +0 -0
  542. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/aft.hbtd +0 -0
  543. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/aft.json +0 -0
  544. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/aft.margins +0 -0
  545. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/categorical_splits.bin +0 -0
  546. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/categorical_splits.hbtd +0 -0
  547. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/categorical_splits.json +0 -0
  548. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/categorical_splits.margins +0 -0
  549. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dart.bin +0 -0
  550. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dart.hbtd +0 -0
  551. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dart.json +0 -0
  552. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dart.margins +0 -0
  553. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_flow_matching.hbdm +0 -0
  554. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_flow_matching.hbdm.json +0 -0
  555. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_flow_matching.hbdm.probe +0 -0
  556. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_score.hbdm +0 -0
  557. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_score.hbdm.json +0 -0
  558. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_score.hbdm.probe +0 -0
  559. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_treeffuser_vp.hbdm +0 -0
  560. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_treeffuser_vp.hbdm.json +0 -0
  561. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/diffusion_treeffuser_vp.hbdm.probe +0 -0
  562. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_negbinomial.bin +0 -0
  563. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_negbinomial.hbtd +0 -0
  564. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_negbinomial.json +0 -0
  565. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_negbinomial.margins +0 -0
  566. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_normal.bin +0 -0
  567. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_normal.hbtd +0 -0
  568. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_normal.json +0 -0
  569. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_normal.margins +0 -0
  570. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_normal_vector_leaves.bin +0 -0
  571. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_normal_vector_leaves.json +0 -0
  572. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/dist_normal_vector_leaves.margins +0 -0
  573. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/early_stopping.bin +0 -0
  574. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/early_stopping.hbtd +0 -0
  575. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/early_stopping.json +0 -0
  576. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/early_stopping.margins +0 -0
  577. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/expectiles.bin +0 -0
  578. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/expectiles.hbtd +0 -0
  579. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/expectiles.json +0 -0
  580. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/expectiles.margins +0 -0
  581. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/forest_diffusion.hbff +0 -0
  582. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/forest_diffusion.hbff.json +0 -0
  583. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/forest_diffusion.hbff.probe +0 -0
  584. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/forest_flow.hbff +0 -0
  585. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/forest_flow.hbff.json +0 -0
  586. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/forest_flow.hbff.probe +0 -0
  587. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/gblinear.bin +0 -0
  588. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/gblinear.json +0 -0
  589. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/gblinear.margins +0 -0
  590. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/linear_leaves.bin +0 -0
  591. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/linear_leaves.json +0 -0
  592. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/linear_leaves.margins +0 -0
  593. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multi_target.bin +0 -0
  594. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multi_target.hbtd +0 -0
  595. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multi_target.json +0 -0
  596. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multi_target.margins +0 -0
  597. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multiclass_forest.bin +0 -0
  598. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multiclass_forest.hbtd +0 -0
  599. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multiclass_forest.json +0 -0
  600. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/multiclass_forest.margins +0 -0
  601. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/quantiles.bin +0 -0
  602. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/quantiles.hbtd +0 -0
  603. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/quantiles.json +0 -0
  604. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/quantiles.margins +0 -0
  605. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/vector_leaves.bin +0 -0
  606. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/vector_leaves.json +0 -0
  607. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/saved/0.2.3/vector_leaves.margins +0 -0
  608. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/xgboost-3.4.2-categorical.json +0 -0
  609. {hessboost-0.2.3 → hessboost-0.2.4}/tests/data/xgboost-3.4.2-categorical.ubj +0 -0
  610. {hessboost-0.2.3 → hessboost-0.2.4}/tests/distributional.rs +0 -0
  611. {hessboost-0.2.3 → hessboost-0.2.4}/tests/forest.rs +0 -0
  612. {hessboost-0.2.3 → hessboost-0.2.4}/tests/lightgbm_parity.rs +0 -0
  613. {hessboost-0.2.3 → hessboost-0.2.4}/tests/metal.rs +0 -0
  614. {hessboost-0.2.3 → hessboost-0.2.4}/tests/model_format.rs +0 -0
  615. {hessboost-0.2.3 → hessboost-0.2.4}/tests/multi_output.rs +0 -0
  616. {hessboost-0.2.3 → hessboost-0.2.4}/tests/native_format.rs +0 -0
  617. {hessboost-0.2.3 → hessboost-0.2.4}/tests/online.rs +0 -0
  618. {hessboost-0.2.3 → hessboost-0.2.4}/tests/parity.rs +0 -0
  619. {hessboost-0.2.3 → hessboost-0.2.4}/tests/properties.rs +0 -0
  620. {hessboost-0.2.3 → hessboost-0.2.4}/tests/quantized.rs +0 -0
  621. {hessboost-0.2.3 → hessboost-0.2.4}/tests/round_hook.rs +0 -0
  622. {hessboost-0.2.3 → hessboost-0.2.4}/tests/sampling.rs +0 -0
  623. {hessboost-0.2.3 → hessboost-0.2.4}/tests/sglb.rs +0 -0
  624. {hessboost-0.2.3 → hessboost-0.2.4}/tests/shap_accumulation.rs +0 -0
  625. {hessboost-0.2.3 → hessboost-0.2.4}/tests/target_stats.rs +0 -0
  626. {hessboost-0.2.3 → hessboost-0.2.4}/tests/wgpu.rs +0 -0
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "hessboost"
3
- version = "0.2.3"
3
+ version = "0.2.4"
4
4
  edition = "2024"
5
5
  rust-version = "1.93"
6
6
  license = "Apache-2.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hessboost
3
- Version: 0.2.3
3
+ Version: 0.2.4
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Intended Audience :: Developers
6
6
  Classifier: Intended Audience :: Science/Research
@@ -51,6 +51,8 @@ UBJSON.
51
51
  model at any `nthread`.
52
52
  - **Typed** (`py.typed`, complete type information), with the GIL released
53
53
  while training and predicting, and free-threaded CPython supported.
54
+ Native work runs on the extension's own thread pool, which a child
55
+ forked with `os.fork()` rebuilds instead of hanging.
54
56
  - **Modern modeling (opt-in).** Conformal prediction intervals,
55
57
  confidence intervals for the regression function (Boulevard boosting),
56
58
  distributional boosting (a predictive distribution per row), LightGBM/CatBoost
@@ -115,6 +117,28 @@ leaves = booster.predict(X[800:], pred_leaf=True) # (rows, trees) int32, all tr
115
117
  print(booster.best_iteration, booster.get_score(importance_type="gain"))
116
118
  ```
117
119
 
120
+ Values and margins of a plain 2-D numpy array are predicted from the array
121
+ itself, without building a `DMatrix` (bit-identical to the `DMatrix` path).
122
+ For serving one row at a time, `predict_row` skips the matrix altogether;
123
+ `out=` reuses a result array, and `transform_margin(s)` applies the
124
+ objective's transform to margins computed elsewhere (bit for bit what
125
+ `predict` reports):
126
+
127
+ ```python
128
+ row = booster.predict_row(X[0]) # == booster.predict(X[:1])[0], 1-D float32
129
+ out = np.empty(1, dtype=np.float32)
130
+ booster.predict_row(X[1], output_margin=True, out=out) # writes into out
131
+ probability = booster.transform_margin(float(out[0]))
132
+ probabilities = booster.transform_margins(margins) # == booster.predict(X[800:])
133
+ ```
134
+
135
+ `booster.model_info()` returns the model's structure as numpy arrays, enough
136
+ to walk the trees and recompute the margins without parsing a model file: a
137
+ `ModelInfo` with the layout, base margins, per-tree weights and outputs, and
138
+ the `gblinear` and model-shrinkage records, and per tree a `TreeInfo` of node
139
+ arrays (children, split features, thresholds, categories, leaf values, covers,
140
+ gains, linear leaves).
141
+
118
142
  ### Input data
119
143
 
120
144
  `DMatrix` takes numpy arrays of any numeric dtype and memory layout (a
@@ -166,7 +190,18 @@ and `callbacks`. Ctrl-C stops training at the end of the current round
166
190
  and raises `KeyboardInterrupt`. `hessboost.cv` cross-validates over
167
191
  shuffled folds, explicit folds, or a scikit-learn splitter; on ranking data
168
192
  each fold must hold whole query groups (e.g. `GroupKFold` over the query
169
- ids). `hessboost.train_with_budget(params, dtrain, budget)` trains with one
193
+ ids). `cv(xgb_model=...)` continues a model in every fold, and
194
+ `cv(refit=True)` also retrains on every row for the chosen round count (the
195
+ best one under early stopping), returning a `CvRefit` with the `history`
196
+ and that `booster`:
197
+
198
+ ```python
199
+ refit = hessboost.cv(params, dtrain, 500, early_stopping_rounds=20, refit=True)
200
+ refit.history["test-rmse-mean"], refit.num_boost_round
201
+ predictions = refit.booster.predict(X_test)
202
+ ```
203
+
204
+ `hessboost.train_with_budget(params, dtrain, budget)` trains with one
170
205
  fitting budget in place of `eta`, tree limits, and a round count
171
206
  (PerpetualBooster's algorithm).
172
207
 
@@ -388,6 +423,13 @@ A Boulevard EBM (`{"booster": "ebm", "ebm_boulevard": True}`) additionally
388
423
  supports confidence bands on its shapes via
389
424
  `hessboost.inference.EbmInference.term_bands`.
390
425
 
426
+ EBMs take eval sets like any booster: `train(..., evals=[(dvalid, "valid")],
427
+ early_stopping_rounds=5)` records the history and `best_score` (classic
428
+ EBMs stop early on it), and `cv` (with `refit=True` too) cross-validates
429
+ them. `cv` refuses `ebm_early_stopping_rounds`, which would stop each fold's
430
+ stages at different rounds; its `early_stopping_rounds` stops on the fold
431
+ means instead.
432
+
391
433
  ### Boulevard inference
392
434
 
393
435
  Boulevard boosting (`{"booster": "boulevard"}`) samples trees with dropout
@@ -538,7 +580,10 @@ result = hessboost.cv({"max_depth": 4}, dtrain, 100, folds=splits)
538
580
  with CatBoost-style ordered target means: a training row's encoding never
539
581
  sees its own label. `label=` supplies the target for a multi-target matrix
540
582
  or a class's 0/1 indicator. In `cv`, `target_stats=` fits the encoder on
541
- each fold's training rows only, so no held-out label reaches an encoding:
583
+ each fold's training rows only, so no held-out label reaches an encoding
584
+ (`target_stats_label=` supplies its target, split with the folds); with
585
+ `refit=True`, `CvRefit.target_encoder` is the encoder fitted on every row,
586
+ which encodes new data for the refit booster:
542
587
 
543
588
  ```python
544
589
  from hessboost.target_stats import OrderedTargetEncoder
@@ -548,8 +593,15 @@ dtrain_encoded, stats = encoder.fit_transform(dtrain, ["city"])
548
593
  booster = hessboost.train({"max_depth": 4}, dtrain_encoded, 100)
549
594
  predictions = booster.predict(stats.transform(X_test))
550
595
  result = hessboost.cv({"max_depth": 4}, dtrain, 100, target_stats=["city"], target_encoder=encoder)
596
+ refit = hessboost.cv({"max_depth": 4}, dtrain, 100, target_stats=["city"], refit=True)
597
+ predictions = refit.booster.predict(refit.target_encoder.transform(X_test))
551
598
  ```
552
599
 
600
+ `stats.save(path)` / `FittedTargetEncoder.load(path)` (and
601
+ `to_bytes`/`from_bytes`) store the Rust crate's serde JSON, which keeps
602
+ column indices and category codes but not feature names or frame
603
+ categories; pickle the statistics to keep them.
604
+
553
605
  ### Extra training options
554
606
 
555
607
  Every hessboost training option (`path_smooth`, `extra_trees`,
@@ -585,7 +637,8 @@ LightGBM's `rank_xendcg` stream.
585
637
  Unlike XGBoost, which accepts both, hessboost refuses `objective` alongside
586
638
  `obj`: drop `objective` from ported `params`; the callback needs no change.
587
639
  - `cv` returns a dict of numpy arrays (`test-<metric>-mean`/`-std`) with
588
- held-out metrics only; there is no `stratified` or `as_pandas`.
640
+ held-out metrics only (or, with `refit=True`, a `CvRefit` holding it and
641
+ the retrained booster); there is no `stratified` or `as_pandas`.
589
642
  - `predict` defaults to the iterations through `best_iteration` (XGBoost's
590
643
  scikit-learn behavior); pass `iteration_range=(0, 0)` for all. SHAP and
591
644
  leaf ranges start at iteration 0; `pred_leaf` defaults to every iteration
@@ -596,9 +649,11 @@ LightGBM's `rank_xendcg` stream.
596
649
  instead of predicting on the training device.
597
650
  - Model files do not store feature names or categories (pickles do).
598
651
  - Not available: `DMatrix` from files or `QuantileDMatrix`, `inplace_predict`
599
- (`predict` takes arrays directly), `Booster.get_dump`/`trees_to_dataframe`
600
- /`dump_model`, attributes (`set_attr`), plotting, distributed (Dask/Spark)
601
- and CUDA training, `approx_contribs`, and `strict_shape`.
652
+ (`predict` takes arrays directly, and `predict_row` single rows),
653
+ `Booster.get_dump`/`trees_to_dataframe`/`dump_model` (`model_info()`
654
+ returns the trees as arrays), attributes (`set_attr`), plotting,
655
+ distributed (Dask/Spark) and CUDA training, `approx_contribs`, and
656
+ `strict_shape`.
602
657
 
603
658
  ## Development
604
659
 
@@ -160,8 +160,12 @@ See [`python/README.md`](python/README.md).
160
160
  binary/multiclass classification, ranking (LambdaMART, XE-NDCG), count, and survival (Cox, AFT),
161
161
  plus typed objective and metric APIs and custom loss hooks.
162
162
  - **Validation & workflow:** Cross-validation (including purged and forward time-series folds,
163
- whole-query ranking folds, and per-fold target statistics), early stopping, feature importance,
163
+ whole-query ranking folds, per-fold target statistics, continuing a model, and refitting on all
164
+ rows at the chosen round count), early stopping, feature importance,
164
165
  SHAP values and interactions, model slicing, and iteration ranges.
166
+ - **Prediction & inspection:** Batch, in-place (borrowed rows), and allocation-free single-row
167
+ prediction, bit-identical in every batch; read-only model metadata (tree weights and nodes,
168
+ `gblinear` weights, model-shrinkage records).
165
169
  - **Interchange:** Native binary and JSON formats, XGBoost JSON/UBJSON import/export, LightGBM model import, and models embedded in the binary at compile time.
166
170
  - **Modern modeling (opt-in):**
167
171
  - [Conformal intervals](https://docs.rs/hessboost/latest/hessboost/conformal/): Finite-sample coverage guarantees.
@@ -290,7 +290,7 @@ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
290
290
 
291
291
  [[package]]
292
292
  name = "hessboost"
293
- version = "0.2.3"
293
+ version = "0.2.4"
294
294
  dependencies = [
295
295
  "bytemuck",
296
296
  "objc2",
@@ -306,11 +306,12 @@ dependencies = [
306
306
 
307
307
  [[package]]
308
308
  name = "hessboost-python"
309
- version = "0.2.3"
309
+ version = "0.2.4"
310
310
  dependencies = [
311
311
  "hessboost",
312
312
  "numpy",
313
313
  "pyo3",
314
+ "rayon",
314
315
  "self_cell",
315
316
  "serde",
316
317
  "serde_json",
@@ -1,7 +1,7 @@
1
1
  [package]
2
2
  name = "hessboost-python"
3
3
  # Must equal the root crate's version: the wheel version comes from here.
4
- version = "0.2.3"
4
+ version = "0.2.4"
5
5
  authors = ["Brenden Matthews <brenden@brndn.io>"]
6
6
  description = "Python bindings for hessboost"
7
7
  edition = "2024"
@@ -38,6 +38,8 @@ doctest = false
38
38
  hessboost = { path = "..", features = ["wgpu"] }
39
39
  numpy = "0.29"
40
40
  pyo3 = { version = "0.29", features = ["abi3-py311"] }
41
+ # The extension's own pool, which a forked child rebuilds (`src/pool.rs`).
42
+ rayon = "1.12"
41
43
  # Method configurations cross the boundary as their serde JSON.
42
44
  serde = "1.0"
43
45
  # Parameter mappings deserialize into `TrainingParams` through serde;
@@ -12,6 +12,8 @@ UBJSON.
12
12
  model at any `nthread`.
13
13
  - **Typed** (`py.typed`, complete type information), with the GIL released
14
14
  while training and predicting, and free-threaded CPython supported.
15
+ Native work runs on the extension's own thread pool, which a child
16
+ forked with `os.fork()` rebuilds instead of hanging.
15
17
  - **Modern modeling (opt-in).** Conformal prediction intervals,
16
18
  confidence intervals for the regression function (Boulevard boosting),
17
19
  distributional boosting (a predictive distribution per row), LightGBM/CatBoost
@@ -76,6 +78,28 @@ leaves = booster.predict(X[800:], pred_leaf=True) # (rows, trees) int32, all tr
76
78
  print(booster.best_iteration, booster.get_score(importance_type="gain"))
77
79
  ```
78
80
 
81
+ Values and margins of a plain 2-D numpy array are predicted from the array
82
+ itself, without building a `DMatrix` (bit-identical to the `DMatrix` path).
83
+ For serving one row at a time, `predict_row` skips the matrix altogether;
84
+ `out=` reuses a result array, and `transform_margin(s)` applies the
85
+ objective's transform to margins computed elsewhere (bit for bit what
86
+ `predict` reports):
87
+
88
+ ```python
89
+ row = booster.predict_row(X[0]) # == booster.predict(X[:1])[0], 1-D float32
90
+ out = np.empty(1, dtype=np.float32)
91
+ booster.predict_row(X[1], output_margin=True, out=out) # writes into out
92
+ probability = booster.transform_margin(float(out[0]))
93
+ probabilities = booster.transform_margins(margins) # == booster.predict(X[800:])
94
+ ```
95
+
96
+ `booster.model_info()` returns the model's structure as numpy arrays, enough
97
+ to walk the trees and recompute the margins without parsing a model file: a
98
+ `ModelInfo` with the layout, base margins, per-tree weights and outputs, and
99
+ the `gblinear` and model-shrinkage records, and per tree a `TreeInfo` of node
100
+ arrays (children, split features, thresholds, categories, leaf values, covers,
101
+ gains, linear leaves).
102
+
79
103
  ### Input data
80
104
 
81
105
  `DMatrix` takes numpy arrays of any numeric dtype and memory layout (a
@@ -127,7 +151,18 @@ and `callbacks`. Ctrl-C stops training at the end of the current round
127
151
  and raises `KeyboardInterrupt`. `hessboost.cv` cross-validates over
128
152
  shuffled folds, explicit folds, or a scikit-learn splitter; on ranking data
129
153
  each fold must hold whole query groups (e.g. `GroupKFold` over the query
130
- ids). `hessboost.train_with_budget(params, dtrain, budget)` trains with one
154
+ ids). `cv(xgb_model=...)` continues a model in every fold, and
155
+ `cv(refit=True)` also retrains on every row for the chosen round count (the
156
+ best one under early stopping), returning a `CvRefit` with the `history`
157
+ and that `booster`:
158
+
159
+ ```python
160
+ refit = hessboost.cv(params, dtrain, 500, early_stopping_rounds=20, refit=True)
161
+ refit.history["test-rmse-mean"], refit.num_boost_round
162
+ predictions = refit.booster.predict(X_test)
163
+ ```
164
+
165
+ `hessboost.train_with_budget(params, dtrain, budget)` trains with one
131
166
  fitting budget in place of `eta`, tree limits, and a round count
132
167
  (PerpetualBooster's algorithm).
133
168
 
@@ -349,6 +384,13 @@ A Boulevard EBM (`{"booster": "ebm", "ebm_boulevard": True}`) additionally
349
384
  supports confidence bands on its shapes via
350
385
  `hessboost.inference.EbmInference.term_bands`.
351
386
 
387
+ EBMs take eval sets like any booster: `train(..., evals=[(dvalid, "valid")],
388
+ early_stopping_rounds=5)` records the history and `best_score` (classic
389
+ EBMs stop early on it), and `cv` (with `refit=True` too) cross-validates
390
+ them. `cv` refuses `ebm_early_stopping_rounds`, which would stop each fold's
391
+ stages at different rounds; its `early_stopping_rounds` stops on the fold
392
+ means instead.
393
+
352
394
  ### Boulevard inference
353
395
 
354
396
  Boulevard boosting (`{"booster": "boulevard"}`) samples trees with dropout
@@ -499,7 +541,10 @@ result = hessboost.cv({"max_depth": 4}, dtrain, 100, folds=splits)
499
541
  with CatBoost-style ordered target means: a training row's encoding never
500
542
  sees its own label. `label=` supplies the target for a multi-target matrix
501
543
  or a class's 0/1 indicator. In `cv`, `target_stats=` fits the encoder on
502
- each fold's training rows only, so no held-out label reaches an encoding:
544
+ each fold's training rows only, so no held-out label reaches an encoding
545
+ (`target_stats_label=` supplies its target, split with the folds); with
546
+ `refit=True`, `CvRefit.target_encoder` is the encoder fitted on every row,
547
+ which encodes new data for the refit booster:
503
548
 
504
549
  ```python
505
550
  from hessboost.target_stats import OrderedTargetEncoder
@@ -509,8 +554,15 @@ dtrain_encoded, stats = encoder.fit_transform(dtrain, ["city"])
509
554
  booster = hessboost.train({"max_depth": 4}, dtrain_encoded, 100)
510
555
  predictions = booster.predict(stats.transform(X_test))
511
556
  result = hessboost.cv({"max_depth": 4}, dtrain, 100, target_stats=["city"], target_encoder=encoder)
557
+ refit = hessboost.cv({"max_depth": 4}, dtrain, 100, target_stats=["city"], refit=True)
558
+ predictions = refit.booster.predict(refit.target_encoder.transform(X_test))
512
559
  ```
513
560
 
561
+ `stats.save(path)` / `FittedTargetEncoder.load(path)` (and
562
+ `to_bytes`/`from_bytes`) store the Rust crate's serde JSON, which keeps
563
+ column indices and category codes but not feature names or frame
564
+ categories; pickle the statistics to keep them.
565
+
514
566
  ### Extra training options
515
567
 
516
568
  Every hessboost training option (`path_smooth`, `extra_trees`,
@@ -546,7 +598,8 @@ LightGBM's `rank_xendcg` stream.
546
598
  Unlike XGBoost, which accepts both, hessboost refuses `objective` alongside
547
599
  `obj`: drop `objective` from ported `params`; the callback needs no change.
548
600
  - `cv` returns a dict of numpy arrays (`test-<metric>-mean`/`-std`) with
549
- held-out metrics only; there is no `stratified` or `as_pandas`.
601
+ held-out metrics only (or, with `refit=True`, a `CvRefit` holding it and
602
+ the retrained booster); there is no `stratified` or `as_pandas`.
550
603
  - `predict` defaults to the iterations through `best_iteration` (XGBoost's
551
604
  scikit-learn behavior); pass `iteration_range=(0, 0)` for all. SHAP and
552
605
  leaf ranges start at iteration 0; `pred_leaf` defaults to every iteration
@@ -557,9 +610,11 @@ LightGBM's `rank_xendcg` stream.
557
610
  instead of predicting on the training device.
558
611
  - Model files do not store feature names or categories (pickles do).
559
612
  - Not available: `DMatrix` from files or `QuantileDMatrix`, `inplace_predict`
560
- (`predict` takes arrays directly), `Booster.get_dump`/`trees_to_dataframe`
561
- /`dump_model`, attributes (`set_attr`), plotting, distributed (Dask/Spark)
562
- and CUDA training, `approx_contribs`, and `strict_shape`.
613
+ (`predict` takes arrays directly, and `predict_row` single rows),
614
+ `Booster.get_dump`/`trees_to_dataframe`/`dump_model` (`model_info()`
615
+ returns the trees as arrays), attributes (`set_attr`), plotting,
616
+ distributed (Dask/Spark) and CUDA training, `approx_contribs`, and
617
+ `strict_shape`.
563
618
 
564
619
  ## Development
565
620
 
@@ -29,10 +29,15 @@ from hessboost._booster import (
29
29
  Booster,
30
30
  CompactModel,
31
31
  Distributions,
32
+ GbLinearInfo,
32
33
  GpuModel,
33
34
  ImportanceType,
35
+ LinearLeavesInfo,
34
36
  ModelFormat,
37
+ ModelInfo,
35
38
  ModelSizeReport,
39
+ ShrinkageInfo,
40
+ TreeInfo,
36
41
  )
37
42
  from hessboost._core import Uncertainty
38
43
  from hessboost._exceptions import (
@@ -44,6 +49,8 @@ from hessboost._exceptions import (
44
49
  from hessboost._matrix import DMatrix
45
50
  from hessboost._training import (
46
51
  CustomMetric,
52
+ CvHistory,
53
+ CvRefit,
47
54
  EvalsResult,
48
55
  Objective,
49
56
  TrainingCallback,
@@ -59,19 +66,26 @@ __all__ = [
59
66
  "Booster",
60
67
  "CompactModel",
61
68
  "CustomMetric",
69
+ "CvHistory",
70
+ "CvRefit",
62
71
  "DMatrix",
63
72
  "Distributions",
64
73
  "EvalsResult",
74
+ "GbLinearInfo",
65
75
  "GpuModel",
66
76
  "HessboostError",
67
77
  "ImportanceType",
68
78
  "IncompatibleModelError",
69
79
  "InvalidDataError",
80
+ "LinearLeavesInfo",
70
81
  "ModelFormat",
71
82
  "ModelFormatError",
83
+ "ModelInfo",
72
84
  "ModelSizeReport",
73
85
  "Objective",
86
+ "ShrinkageInfo",
74
87
  "TrainingCallback",
88
+ "TreeInfo",
75
89
  "Uncertainty",
76
90
  "__version__",
77
91
  "conformal",