#' Function that given "classif" or "regr" returns a suitable measure
#'
#' @param task mlr3 task
#' @param measure user defined measure
#'
#' @examples
#' create_measure(tsk("iris"))
#' create_measure(tsk("german_credit"))
#' create_measure(tsk("bike_sharing"))
#'
#' @return mlr3 measure
#'
#' @export
#'
#' @import mlr3verse
#' @import mlr3
#'
create_measure <- function(task, measure = NULL){
cr <- task$task_type
if (is.null(measure)) {
if (cr == "regr") {
type <- cr
} else {
type <- task$properties
}
meas <- switch (type,
regr = mlr3::msr("regr.rmse"),
twoclass = mlr3::msr("classif.bacc"),
multiclass = mlr3::msr("classif.bacc")
)
} else {
meas <- mlr3::msr(measure)
if (task$task_type != meas$task_type) {
stop("measure not supported")
}
if (cr == "classif") {
if (task$properties == "multiclass") {
if (meas$task_properties == "twoclass") {
stop("measure not supported")
}
}
}
}
return(meas)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.