Koen Gorgels¹², Lasai Barreñada³, Maarten Van Smeden¹, Ben Calster¹³, Ewout Steyerberg¹, Wouter Van Amsterdam¹
We lifted 11 functions out of this paper's own repositories and ran 0 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| KoenGorgels/Smooth-Net-Benefit | canonical | 0 of 11 |
| Function | Status | Where it lives |
|---|---|---|
| decision_curve | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/metrics.py pointer only (licence: NONE) · get_code("872c03d861b33378") |
| make_optimizer | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/trainer.py pointer only (licence: NONE) · get_code("71f4421a921fe1c0") |
| nb_anneal_only_with_l2 | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/trainer.py pointer only (licence: NONE) · get_code("7647894dcfdbf0ef") |
| net_benefit_hard | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/metrics.py pointer only (licence: NONE) · get_code("05c5413ace5a09ed") |
| net_benefit_hard_band_xgb | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/xgboost_objectives.py pointer only (licence: NONE) · get_code("1de655d7ca41f94d") |
| net_benefit_treat_all | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/metrics.py pointer only (licence: NONE) · get_code("12d066619e72504d") |
| plot_decision_curves | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/plots.py pointer only (licence: NONE) · get_code("28f4b5207225e2d6") |
| plot_decision_curves_with_band | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/plots.py pointer only (licence: NONE) · get_code("b6dbf012e017d3a8") |
| plot_roc_curves | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/plots.py pointer only (licence: NONE) · get_code("c4078273ded8e604") |
| smooth_net_benefit_loss | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/loss.py pointer only (licence: NONE) · get_code("9515563b93fb2449") |
| smooth_net_benefit_range_mean_loss | Not yet run | KoenGorgels/Smooth-Net-Benefit/nbloss/loss.py pointer only (licence: NONE) · get_code("573729cacb35b020") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Prediction models are commonly trained using objectives such as Bernoulli negative loglikelihood (NLL), although downstream clinical decisions may depend on specific risk thresholds. We introduce Smooth Net Benefit (NB), a differentiable approximation of Net Benefit designed to align model training with threshold-specific clinical utility. We evaluated NB as a training objective for logistic regression, generalized additive models (GAMs), and XGBoost with three Hessian implementations. Experiments used the Framingham cardiovascular risk dataset and 44 TabZilla datasets comprising 72 dataset-threshold combinations. NB training did not consistently improve Net Benefit in Framingham. Across the TabZilla benchmark, mean standardized Net Benefit for logistic regression increased from 0.5669 with NLL to 0.5765 with sNB (mean difference 0.0096, 95% CI -0.0001 to 0.0193). For GAMs, mean standardized Net Benefit decreased from 0.5921 to 0.5625 (mean difference -0.0296, 95% CI -0.0721 to 0.0129). For XGBoost, NLL achieved 0.6745 compared with 0.6723-0.6735 across NB implementations. In logistic regression, sNB gains were positively associated with the performance advantage of XGBoost over NLL-trained logistic regression.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2609.12752")
get_code_for_paper("2609.12752")
have("2609.12752")
Connect an agent — have() is free.