mlr3proba in mlr_reflections$loaded_packagesattic folder for deprecated codeLearnerDensPenalized as pendensity was removed from CRAN (14/4/2026)README with links to survdistr and mlr3cmprsk as these have matured nowmlr-org forks of xoopR packages for stable future installations of mlr3probadictionar6 and ooplah CRAN removalmlr3 (1.3.0)mlr3pipelines (0.10.0) and mlr3tuning (1.5.0) CRAN versionssurv.coxph learnermlr3extralearners here.mlr3 universe for it, see mlr3cmprsk.default_fallback()importance, weights and selected_features properties in Kaplan-Meier for compatibility with other survival learners when it is used as a fallback learnerPipeOpTaskSurvRegrPEM and PipeOpTaskSurvClassifDiscTime now apply the data transformation on an internal validation task if it exists. This enables the use of e.g xgboost regression or classification learners with early_stopping on the corresponding pipelines.coxed package was removed from CRAN so now we install the latest working CRAN version (0.3.3) from GitHub.surv_return() to surv_return() as it is exported and used by other packages (e.g. mlr3extralearners)mlr3 to v1.2.0 and mlr3misc to v0.19.0surv.logloss and surv.rcll now use linear interpolation of S(t) to calculate the density f(t)surv.mae/surv.mse/surv.rmse scores return NA when test set has only censored observationssurv.brier) that resulted in 0 division instead of eps division (Inf values are filtered out so this was kinda masking the inflation of ISBS)se argument from most of the scores (not practically used)method argument from integrated survival scores (the previous default, method = 2, time-weighted integration, is now always used)proper scoring rules (and remove_obs argument).
Scores yield the same results as before with the default option proper = FALSE. now and are adequately (privately) documented. Code was refactored for clarityRcpp measure functionsmlr3 v1.0.0 (weights_learner) and mlr3pipelines v0.8.0as.data.table() for PredictionSurv objects holds now one survival curve per observation as it shouldTaskSurv uses only right, left or interval censoring, simplified code a lot in the methodsTaskCompRisks class and as_task_cmprk() S3 methods (support for right-censored data only)PipeOps: PipeOpTaskSurvRegrPEM, PipeOpPredRegrPEMpipeline_survtoregr_pemMeasureSurv: survival measure labels are now printed and the obs_loss property is now supportedna.rm parameter to msr("surv.calib_index") to avoid NaN scoresmsr("surv.calib_index")autoplot.PredictionSurv
"calib" plot uses the survival matrix directly now which is faster"dcalib" has extra barplot + better documentationtype = "scalib" which constructs the smoothed calibration plots as in Austin et al. (2020)"preds" is now called "isd" (individual survival distribution). row_ids can now be used to filter the observations for which you draw the survival curves.lrn("surv.coxph") is now trained with model=TRUE which fixes an issue with using observation weights stackoverflow link.tsk("unemployment") and associated filesPipeOps and pipelines related to survival => regression reduction techniques (see #414)$predict_type of survtoclassif_disctime and survtoclassif_IPCW was prob (classification type) and not crank (survival type)t_max|p_max is specified in scoring rules (didn't influence evaluation at all)t_max in scoring rules, added examples in scoring rules and AUC scoresremove_obs in scoring rules to remove observations with observed time t > t_max as a processing step to alleviate IPCW issues.
This was before 'hard-coded' which made the Integrated Brier Score (msr("surv.graf")) differ minimally from other implementations and the original definition.mlr3pipelines to Imports and set minimum latest version from CRAN (0.7.0)mlr3pipelines:: or R6::scale_lp for AFT distrcompose pipeop + respective pipelinePipeOps: PipeOpTaskSurvClassifIPCW, PipeOpPredClassifSurvIPCWpipeline_survtoclassif_IPCWtimes argument and the t_max, especially when the survival matrix has one time point (column)lifecycle badge for 3 pipelines (survtoregr, distrcompositor and probregr) - these are currently either not supported by literature or tested enough.Rcpp code optimizationsmlr3 dev version (no bugs before)survtoregr pipelines due to bugs (to be refactored in the future)crank to distr composition in distrcompose pipeop (only from lp => distr works now)get_mortality() function (from survivalmodels::surv_to_risk()assert_surv_matrix()crankcompose pipeop and respective pipeline (no response is created anymore)responsecompositor pipeline with rmst and medianPipeOps: PipeOpTaskSurvClassifDiscTime, PipeOpPredClassifSurvDiscTimepipeline_survtoclassif_disctimesurvival package: veteran, pbc, mgus, gbsg
task$help() works as it should nowcoxed packageTaskSurv: cens_prop(), admin_cens_prop(), dep_cens_prop() and prop_haz()surv.cindex measure
p_max (same as surv.graf)cutoff to t_maxt_max in surv.graf and similar time-integrated scores.surv.logloss and calib_alpha measures (bypassing distr6)calib_alpha, surv.logloss and surv.graf (version with proper = FALSE)distrcompositor and crankcompositor deprecated functions were completely removedphash warning and Inf lp predictions)breslow function for estimating the cumulative baseline hazard of proportional hazard modelsPipeOpBreslow to wrap a survival learner and generate distr predictions from lp predictionsbreslow estimator option in distrcompositorextend_quantile to autoplot.PredictionSurv for type = "dcalib", which imputes NAs with the maximum observed survival timeautoplot.PredictionSurv, now "calib"msr("surv.dcalib") default for truncate to Inf$reverse() method to TaskSurv, which returns the same task but with 1-status.reverse parameter to TaskSurv$kaplan() method, which calculates Kaplan-Meier on the censoring distribution of the task (1-status).distr6::Arrdistplot_probregr for plotting probabilistic regression distribution predictionssurv.rcll creating erroneous results as distributions were not being subsetted correctlyregr.loglossPipeOpProbregrCompositor to PipeOpProbregr and default distribution now "Uniform".probregrcompositor pipeline to probregr and default distribution now "Uniform".surv.rcll when individual scores are NA.theme_mlr3 from plots.surv.logloss when using IPCW = TRUEsurv.cindex caused when probability of censoring was 0. Added eps parameter to control this.PredictionSurvERV parameter to scoring rule measures to return more interpretable scoring rules. Explained Residual Variation is the percentage decrease between a scoring rule comparing a Kaplan-Meier baseline to the learner of interest.model now called keep_model.TaskSurv$kaplan methodsimsurv task that made it impossible to predict the target$distr called for a learner that does not support this return typeas_task_dens and as_prediction_denst_max and p_max to Graf, Schmid and Integrated Log-loss as an alternative to times. t_max is equivalent to times = seq(t_max) and p_max is the proportion of censoring to integrate up to in the dataset.mlr3extralearners from Suggestsresponse to as_prediction_survassert_survmlr3 is now in Depends not importsdistr predictions are now internally stored as matrices to significantly reduce prediction object sizessurv.graf, surv.schmid, and surv.intlogloss now allow training data to be passed to the score function with task and train_set to allow the censoring distribution to be estimated on the training data. This is automatically applied for resample and benchmark results.surv.graf, surv.schmid, and surv.intlogloss now include a parameter proper to determine what weighting scheme should be applied by the estimated censoring distribution, The current method (Graf, 1999) proper = FALSE, weights observations either by their event time or 'current' time depending if they're dead or not, the new method proper = TRUE weights observations by event time. The proper = TRUE method is strictly proper when censoring and survival times are independent and G is estimated on large enough data. The proper = FALSE method is never proper. The default is currently proper = FALSE to enable backward compatibility, this will be changed to proper = TRUE in v0.6.0.rm_cens parameter in surv.logloss has been deprecated in favour of IPCW. rm_cens will be removed in v0.6.0. If rm_cens or IPCW are TRUE then censored observations are removed and the score is weighted by an estimate of the censoring distribution at individual event times. Otherwise if rm_cens and IPCW are FALSE then no deletion or weighting takes place. The IPCW = TRUE method is strictly proper when censoring and survival times are independent and G is estimated on large enough data. The ipcw = FALSE method is never proper.surv.dcalib for the D-Calibration measure from Haider et al. (2020)."interval2" task type not to work$aggregate"interval2"TaskSurv including times (observed survival times), status (observed survival indicator), unique_times (set of sorted unique outcome times), unique_event_times (set of sorted unique failure times), risk_set (set of observations alive 'just before' a given time)"interval2" censoring type has been removed from TaskSurv as this is covered by the other typestime and event arguments in TaskSurvPredictionDens can now include distr return type (equivalent to learner$model)PipeOpCrankCompositor updated to fix bottleneck in computation via mean. Now Inf or NA is replaced by 0 for response and imputed with the median for crankdistr predict types fixed that lead to fitting degenerate distributions and returning incorrect values for mean survival time and crankcompose_crank was previously returning ranks with the reverse ordering so that higher ranks implied higher risk not lower.MeasureSurvLoglossMeasureSurvCalibrationAlphaTaskDens now inherits from TaskUnsupervised which means target/truth has been removed. No specification of a target column is required, instead a one-column matrix-like object or numeric vector should be passed to the task backend and the density will be estimated for this column, or two columns and one set as weight.load_eruption to fix name of data columnspracma dependency in learnersPipeOpDistrCompositor, previously base distribution was only using the first predicted distribution, now the baseline is taken by averaging over all predictions with uniform weightsLearnerDensityKDE is now Epan to reduce importsMeasureSurvCalibrationBeta now returns NA not error if lp predict type not availablePredictionRegr causing masking issues with {mlr3}PipeOpDistrCompositor causing some cdf predictions to be lostmlr3pipelines: public train and predict methods to privategrace, actg, gbcs, whasoverwrite to crankcompositor pipeop and pipelinesurv.kaplan crank predictionMeasureSurvCindex added. Generalises all c-index measures with a fast C++ implementationmlr3learners/mlr3learners.probaMeasureSurvSchmidMeasureSurvCalibrationBeta and MeasureSurvCalibrationAlphasurv.brier alias added for surv.grafresponse parameter added to PipeOpCrankCompositor and crankcompositor to now optionally fill response predict type with same values as crankPipeOpProbregrCompostior and compose_probregr for composition to distr return type from (a) regression learner(s) predicting response and sePipeOpSurvAvg and surv_averager pipeline for weighted model averaging of distr, lp, crank, and response predictions.MeasureSurvCindex instead with following parameters: MeasureSurvBeggC, use defaults; MeasureSurvHarrellC, use defaults; MeasureSurvUnoC, use weight_meth = 'G/2'; MeasureSurvGonenC, use weight_method = 'GH'MeasureSurvGrafSE, MeasureSurvLoglossSE, MeasureSurvIntLoglossSE, MeasureSurvRMSESE, MeasureSurvMSESE, and MeasureSurvMAESE all deprecated and will be deleted in v0.4.0. Use msr("surv.graf", se = TRUE) instead (for example).surv.nagelkR2 is now surv.nagelk_r2, analogously for all R2, AUC, TPR, and TNR measures. Old constructors will be deleted in v0.4.0.distrcompose and crankcompose to distr_compose and crank_compose. Old ids will be deleted in v0.4.0.surv.nagelkR2 is now surv.nagelk_r2, analogously for all R2, AUC, TPR, and TNR measures. Old constructors will be deleted in v0.4.0.MeasureSurvGraf and MeasureSurvIntLogloss now have much faster C++ implementationLearnerSurvGlmnet, LearnerSurvCVGlmnet, LearnerSurvXgboost and LearnerSurvRanger have been moved to mlr-org/mlr3learners
LearnerSurvGBM has been moved to https://www.github.com/mlr3learners/mlr3learners.gbm
LearnerSurvMboost, LearnerSurvGlmBoost, LearnerSurvGamboost, LearnerSurvBlackboost have been moved to https://www.github.com/mlr3learners/mlr3learners.mboost
mboost family of learners: added gehan family, fixed parameters for cindex, added support for: weights, response predict type, importance, selected_featuresLearnerDensHist and LearnerDensKDE have been moved to the mlr3learners orgmlr3learners org, LearnerSurv: Flexible, ObliqueRSF, Penalized, RandomForestSRCLearnerSurvXgboost previously lp was erroneously returned as exp(lp)LearnerSurvParametric and LearnerSurvNelson moved to mlr3learners/mlr3learners.survival repoLearnerSurvCoxboost and LearnerSurvCVCoxboost moved to mlr3learners/mlr3learners.coxboost repoLearnerSurvSVM moved to mlr3learners/mlr3learners.survivalsvm repoLearnerSurvKaplan, LearnerSurvCoxPH, and LearnerDensHist will be moved to the mlr3learners orgTaskDens, LearnerDens, PredictionDens, and MeasureDens.mlr_tasks_faithful and mlr_tasks_precip for density task examplesmlr_task_generators_simdens for generating density tasksmlr3::mlr_learners$keys("^dens") for the full listtrain_internal, predict_internal, score_internal are now private methods .train,.predict,.scorelp in surv.parametric to include the intercept, which is in line with survival::survreg. Now exp(pred$lp) is equal to the predicted survival time for AFTsmboost to suggestsresponse predict type, which predicts the time until event. Currently only supported for AFT models in surv.parametricresponse predict type: MeasureSurvMAE, MeasureSurvMAESE, MeasureSurvMSE, MeasureSurvMSESE, MeasureSurvRMSE, MeasureSurvRMSESEmode option to crankcompositorR62S3 incompatibilitymethod argument to integrated scores and added weighting by bin-widthmethod to MeasureSurvIntegrated constructor and fieldsTaskSurv, MeasureSurvUnoCLearnerSurvRpart parameter parms and cost