Calls gss::ssden()
and the result is coerced to a distr6::Distribution.
Dictionary
This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn():
References
Gu, Chong, Wang, Jingyuan (2003). “Penalized likelihood density estimation: Direct cross-validation and scalable approximation.” Statistica Sinica, 811–826.
Super classes
mlr3::Learner
-> mlr3proba::LearnerDens
-> LearnerDensSpline
Examples
# Define the Learner
learner = lrn("dens.spline")
print(learner)
#>
#> ── <LearnerDensSpline> (dens.spline): Density Smoothing Splines ────────────────
#> • Model: -
#> • Parameters: list()
#> • Packages: mlr3, mlr3proba, gss, and distr6
#> • Predict Types: [pdf] and cdf
#> • Feature Types: integer and numeric
#> • Encapsulation: none (fallback: -)
#> • Properties: missings
#> • Other settings: use_weights = 'error'
# Define a Task
task = tsk("faithful")
# Create train and test set
ids = partition(task)
# Train the learner on the training ids
learner$train(task, row_ids = ids$train)
print(learner$model)
#> splineDens()
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
#> dens.logloss
#> 0.9483884