Density Penalized Learner
mlr_learners_dens.pen.Rd
Density estimation using penalized B-splines with automatic selection of smoothing parameter.
Calls pendensity::pendensity()
from pendensity.
Meta Information
Task type: “dens”
Predict Types: “pdf”, “cdf”
Feature Types: “integer”, “numeric”
Required Packages: mlr3, mlr3proba, mlr3extralearners, pendensity
Parameters
Id | Type | Default | Levels | Range |
base | character | bspline | bspline, gaussian | - |
no.base | numeric | 41 | \((-\infty, \infty)\) | |
max.iter | numeric | 20 | \((-\infty, \infty)\) | |
lambda0 | numeric | 500 | \((-\infty, \infty)\) | |
q | numeric | 3 | \((-\infty, \infty)\) | |
sort | logical | TRUE | TRUE, FALSE | - |
with.border | untyped | - | - | |
m | numeric | 3 | \((-\infty, \infty)\) | |
eps | numeric | 0.01 | \((-\infty, \infty)\) |
References
Schellhase, Christian, Kauermann, Göran (2012). “Density estimation and comparison with a penalized mixture approach.” Computational Statistics, 27(4), 757–777.
See also
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#learners
mlr3learners for a selection of recommended learners.
mlr3cluster for unsupervised clustering learners.
mlr3pipelines to combine learners with pre- and postprocessing steps.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Super classes
mlr3::Learner
-> mlr3proba::LearnerDens
-> LearnerDensPenalized
Examples
# Define the Learner
learner = mlr3::lrn("dens.pen")
print(learner)
#> <LearnerDensPenalized:dens.pen>: Penalized Density Estimation
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3proba, mlr3extralearners, pendensity
#> * Predict Types: [pdf], cdf
#> * Feature Types: integer, numeric
#> * Properties: -
# Define a Task
task = mlr3::tsk("faithful")
# Create train and test set
ids = mlr3::partition(task)
# Train the learner on the training ids
learner$train(task, row_ids = ids$train)
#> [1] 1
#> [1] 2
#> [1] 3
print(learner$model)
#> PenDens_gaussian()
# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)
# Score the predictions
predictions$score()
#> dens.logloss
#> 1.020053