From 53b5edfacf1783b006e07ebb47886a9d9678213d Mon Sep 17 00:00:00 2001 From: AnnaNzrv Date: Mon, 16 Jun 2025 17:14:48 +0200 Subject: [PATCH 1/4] mda classif learner from old mlr2 --- DESCRIPTION | 3 +- NAMESPACE | 2 + NEWS.md | 1 + R/learner_mda_classif_mda.R | 98 ++++++++++++ man/mlr_learners_classif.C50.Rd | 2 +- man/mlr_learners_classif.abess.Rd | 2 +- man/mlr_learners_classif.imbalanced_rfsrc.Rd | 1 + man/mlr_learners_classif.mda.Rd | 148 ++++++++++++++++++ man/mlr_learners_classif.rfsrc.Rd | 1 + man/mlr_learners_regr.abess.Rd | 2 +- man/mlr_learners_regr.cubist.Rd | 2 +- man/mlr_learners_regr.rfsrc.Rd | 1 + man/mlr_learners_surv.blackboost.Rd | 2 +- man/mlr_learners_surv.cv_glmnet.Rd | 2 +- man/mlr_learners_surv.gamboost.Rd | 4 +- man/mlr_learners_surv.glmboost.Rd | 4 +- man/mlr_learners_surv.glmnet.Rd | 4 +- man/mlr_learners_surv.mboost.Rd | 6 +- man/mlr_learners_surv.rfsrc.Rd | 1 + tests/testthat/test_mda_classif_mda.R | 7 + .../testthat/test_paramtest_mda_classif_mda.R | 29 ++++ 21 files changed, 306 insertions(+), 16 deletions(-) create mode 100644 R/learner_mda_classif_mda.R create mode 100644 man/mlr_learners_classif.mda.Rd create mode 100644 tests/testthat/test_mda_classif_mda.R create mode 100644 tests/testthat/test_paramtest_mda_classif_mda.R diff --git a/DESCRIPTION b/DESCRIPTION index 3efe8edc3..0d97dea92 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -23,7 +23,8 @@ Authors@R: c( person("Lukas", "Burk", , "burk@leibniz-bips.de", role = "ctb", comment = c(ORCID = "0000-0001-7528-3795")), person("Lona", "Koers", , "lona.koers@gmail.com", role = "ctb"), - person("Baisu", "Zhou", , "baisu.zhou@outlook.com", role = "ctb") + person("Baisu", "Zhou", , "baisu.zhou@outlook.com", role = "ctb"), + person("Nazarova", "Anna", , "anna.nazarova@outlook.com", role = "ctb") ) Description: Extra learners for use in mlr3. License: LGPL-3 diff --git a/NAMESPACE b/NAMESPACE index b23e7a9eb..e614f33b4 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -28,11 +28,13 @@ export(LearnerClassifJ48) export(LearnerClassifJRip) export(LearnerClassifKSVM) export(LearnerClassifKStar) +export(LearnerClassifKnn) export(LearnerClassifLMT) export(LearnerClassifLSSVM) export(LearnerClassifLiblineaR) export(LearnerClassifLightGBM) export(LearnerClassifLogistic) +export(LearnerClassifMda) export(LearnerClassifMob) export(LearnerClassifMultilayerPerceptron) export(LearnerClassifNaiveBayesMultinomial) diff --git a/NEWS.md b/NEWS.md index f37501429..22c5e690c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,7 @@ * feat: Added learners `LearnerClassifTabPFN` and `LearnerRegrTabPFN`. * feat: Added the new version of learner weights to all learners that support weights * feat: Added marshaling for `surv.xgboost.cox`. +* feat: Added learner `LearnerClassifMda`. # mlr3extralearners 1.0.0 diff --git a/R/learner_mda_classif_mda.R b/R/learner_mda_classif_mda.R new file mode 100644 index 000000000..f1a78dec7 --- /dev/null +++ b/R/learner_mda_classif_mda.R @@ -0,0 +1,98 @@ +#' @title Classification Discriminant Analysis Learner +#' @author annanzrv +#' @name mlr_learners_classif.mda +#' +#' @description +#' Mixture Discriminant Analysis. +#' Calls [mda::mda()] from \CRANpkg{mda}. +#' +#' @section Initial parameter values: +#' * `keep.fitted`: Set to `FALSE` by default for speed. +#' +#' @templateVar id classif.mda +#' @template learner +#' +#' @template seealso_learner +#' @template example +#' @export +LearnerClassifMda = R6Class("LearnerClassifMda", + inherit = LearnerClassif, + public = list( + #' @description + #' Creates a new instance of this [R6][R6::R6Class] class. + initialize = function() { + param_set = ps( + criterion = p_fct(default = "misclassification", levels = c("misclassification", "deviance"), tags = "train"), + dimension = p_int(lower = 1L, tags = c("train", "predict")), + eps = p_dbl(default = .Machine$double.eps, lower = 0, tags = "train"), + iter = p_int(default = 5L, lower = 1L, tags = "train"), + keep.fitted = p_lgl(default = TRUE, tags = "train"), + method = p_fct(default = "polyreg", levels = c("polyreg", "mars", "bruto", "gen.ridge"), tags = "train"), + prior = p_dbl(lower = 0, upper = 1, tags = "predict"), + start.method = p_fct(default = "kmeans", levels = c("kmeans", "lvq"), tags = "train"), + sub.df = p_int(lower = 1L, tags = "train"), + subclasses = p_int(default = 2L, tags = "train"), + tot.df = p_int(lower = 1L, tags = "train"), + trace = p_lgl(default = FALSE, tags = "train"), + tries = p_int(default = 5L, lower = 1L, tags = "train"), + weights = p_uty(tags = "train") + ) + + param_set$values = list(keep.fitted = FALSE) + + super$initialize( + id = "classif.mda", + packages = "mda", + feature_types = c("integer", "numeric", "factor", "ordered"), + predict_types = c("response", "prob"), + param_set = param_set, + properties = c("twoclass", "multiclass"), + man = "mlr3extralearners::mlr_learners_classif.mda", + label = "Mixture Discriminant Analysis" + ) + } + ), + private = list( + .train = function(task) { + # get parameters for training + pars = self$param_set$get_values(tags = "train") + + # get formula and data + formula = task$formula() + data = task$data() + + # handle method parameter + if (!is.null(pars$method)) { + if (is.character(pars$method)) { + pars$method = getFromNamespace(pars$method, "mda") + } + } + + invoke( + mda::mda, + formula = formula, + data = data, + .args = pars + ) + }, + .predict = function(task) { + # get parameters with tag "predict" + pars = self$param_set$get_values(tags = "predict") + + # get newdata and ensure same ordering in train and predict + newdata = ordered_features(task, self) + + # Calculate predictions for the selected predict type + type = ifelse(self$predict_type == "response", "class", "posterior") + pred = invoke(predict, self$model, newdata = newdata, type = type, .args = pars) + + if (self$predict_type == "response") { + list(response = pred) + } else { + list(prob = pred) + } + } + ) +) + +.extralrns_dict$add("classif.mda", LearnerClassifMda) diff --git a/man/mlr_learners_classif.C50.Rd b/man/mlr_learners_classif.C50.Rd index bd7fe7044..8a6443487 100644 --- a/man/mlr_learners_classif.C50.Rd +++ b/man/mlr_learners_classif.C50.Rd @@ -6,7 +6,7 @@ \title{Classification C5.0 Learner} \description{ Decision Tree Algorithm. -Calls \code{\link[C50:C5.0]{C50::C5.0.formula()}} from \CRANpkg{C50}. +Calls \code{\link[C50:C5.0.formula]{C50::C5.0.formula()}} from \CRANpkg{C50}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.abess.Rd b/man/mlr_learners_classif.abess.Rd index 27f23a899..10c5138b8 100644 --- a/man/mlr_learners_classif.abess.Rd +++ b/man/mlr_learners_classif.abess.Rd @@ -147,7 +147,7 @@ Creates a new instance of this \link[R6:R6Class]{R6} class. \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-LearnerClassifAbess-selected_features}{}}} \subsection{Method \code{selected_features()}}{ -Extract the name of selected features from the model by \code{\link[abess:extract.abess]{abess::extract()}}. +Extract the name of selected features from the model by \code{\link[abess:extract]{abess::extract()}}. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{LearnerClassifAbess$selected_features()}\if{html}{\out{
}} } diff --git a/man/mlr_learners_classif.imbalanced_rfsrc.Rd b/man/mlr_learners_classif.imbalanced_rfsrc.Rd index 9389f1c52..a6a2fa1a8 100644 --- a/man/mlr_learners_classif.imbalanced_rfsrc.Rd +++ b/man/mlr_learners_classif.imbalanced_rfsrc.Rd @@ -70,6 +70,7 @@ This \link[mlr3:Learner]{Learner} can be instantiated via \link[mlr3:mlr_sugar]{ save.memory \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr perf.type \tab character \tab - \tab gmean, misclass, brier, none \tab - \cr case.depth \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr + marginal.xvar \tab untyped \tab NULL \tab \tab - \cr } } diff --git a/man/mlr_learners_classif.mda.Rd b/man/mlr_learners_classif.mda.Rd new file mode 100644 index 000000000..0a026f212 --- /dev/null +++ b/man/mlr_learners_classif.mda.Rd @@ -0,0 +1,148 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/learner_mda_classif_mda.R +\name{mlr_learners_classif.mda} +\alias{mlr_learners_classif.mda} +\alias{LearnerClassifMda} +\title{Classification Discriminant Analysis Learner} +\description{ +Mixture Discriminant Analysis. +Calls \code{\link[mda:mda]{mda::mda()}} from \CRANpkg{mda}. +} +\section{Initial parameter values}{ + +\itemize{ +\item \code{keep.fitted}: Set to \code{FALSE} by default for speed. +} +} + +\section{Dictionary}{ + +This \link[mlr3:Learner]{Learner} can be instantiated via \link[mlr3:mlr_sugar]{lrn()}: + +\if{html}{\out{
}}\preformatted{lrn("classif.mda") +}\if{html}{\out{
}} +} + +\section{Meta Information}{ + +\itemize{ +\item Task type: \dQuote{classif} +\item Predict Types: \dQuote{response}, \dQuote{prob} +\item Feature Types: \dQuote{integer}, \dQuote{numeric}, \dQuote{factor}, \dQuote{ordered} +\item Required Packages: \CRANpkg{mlr3}, \CRANpkg{mda} +} +} + +\section{Parameters}{ +\tabular{lllll}{ + Id \tab Type \tab Default \tab Levels \tab Range \cr + criterion \tab character \tab misclassification \tab misclassification, deviance \tab - \cr + dimension \tab integer \tab - \tab \tab \eqn{[1, \infty)}{[1, Inf)} \cr + eps \tab numeric \tab 2.220446e-16 \tab \tab \eqn{[0, \infty)}{[0, Inf)} \cr + iter \tab integer \tab 5 \tab \tab \eqn{[1, \infty)}{[1, Inf)} \cr + keep.fitted \tab logical \tab TRUE \tab TRUE, FALSE \tab - \cr + method \tab character \tab polyreg \tab polyreg, mars, bruto, gen.ridge \tab - \cr + prior \tab numeric \tab - \tab \tab \eqn{[0, 1]}{[0, 1]} \cr + start.method \tab character \tab kmeans \tab kmeans, lvq \tab - \cr + sub.df \tab integer \tab - \tab \tab \eqn{[1, \infty)}{[1, Inf)} \cr + subclasses \tab integer \tab 2 \tab \tab \eqn{(-\infty, \infty)}{(-Inf, Inf)} \cr + tot.df \tab integer \tab - \tab \tab \eqn{[1, \infty)}{[1, Inf)} \cr + trace \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr + tries \tab integer \tab 5 \tab \tab \eqn{[1, \infty)}{[1, Inf)} \cr +} +} + +\examples{ +\dontshow{if (mlr3misc::require_namespaces(lrn("classif.mda")$packages, quietly = TRUE)) (if (getRversion() >= "3.4") withAutoprint else force)(\{ # examplesIf} +# Define the Learner +learner = mlr3::lrn("classif.mda") +print(learner) + +# Define a Task +task = mlr3::tsk("sonar") + +# Create train and test set +ids = mlr3::partition(task) + +# Train the learner on the training ids +learner$train(task, row_ids = ids$train) + +print(learner$model) + + +# Make predictions for the test rows +predictions = learner$predict(task, row_ids = ids$test) + +# Score the predictions +predictions$score() +\dontshow{\}) # examplesIf} +} +\seealso{ +\itemize{ +\item \link[mlr3misc:Dictionary]{Dictionary} of \link[mlr3:Learner]{Learners}: \link[mlr3:mlr_learners]{mlr3::mlr_learners}. +\item \code{as.data.table(mlr_learners)} for a table of available \link[mlr3:Learner]{Learners} in the running session (depending on the loaded packages). +\item Chapter in the \href{https://mlr3book.mlr-org.com/}{mlr3book}: \url{https://mlr3book.mlr-org.com/basics.html#learners} +\item \CRANpkg{mlr3learners} for a selection of recommended learners. +\item \CRANpkg{mlr3cluster} for unsupervised clustering learners. +\item \CRANpkg{mlr3pipelines} to combine learners with pre- and postprocessing steps. +\item \CRANpkg{mlr3tuning} for tuning of hyperparameters, \CRANpkg{mlr3tuningspaces} for established default tuning spaces. +} +} +\author{ +annanzrv +} +\section{Super classes}{ +\code{\link[mlr3:Learner]{mlr3::Learner}} -> \code{\link[mlr3:LearnerClassif]{mlr3::LearnerClassif}} -> \code{LearnerClassifMda} +} +\section{Methods}{ +\subsection{Public methods}{ +\itemize{ +\item \href{#method-LearnerClassifMda-new}{\code{LearnerClassifMda$new()}} +\item \href{#method-LearnerClassifMda-clone}{\code{LearnerClassifMda$clone()}} +} +} +\if{html}{\out{ +
Inherited methods + +
+}} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-LearnerClassifMda-new}{}}} +\subsection{Method \code{new()}}{ +Creates a new instance of this \link[R6:R6Class]{R6} class. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{LearnerClassifMda$new()}\if{html}{\out{
}} +} + +} +\if{html}{\out{
}} +\if{html}{\out{}} +\if{latex}{\out{\hypertarget{method-LearnerClassifMda-clone}{}}} +\subsection{Method \code{clone()}}{ +The objects of this class are cloneable with this method. +\subsection{Usage}{ +\if{html}{\out{
}}\preformatted{LearnerClassifMda$clone(deep = FALSE)}\if{html}{\out{
}} +} + +\subsection{Arguments}{ +\if{html}{\out{
}} +\describe{ +\item{\code{deep}}{Whether to make a deep clone.} +} +\if{html}{\out{
}} +} +} +} diff --git a/man/mlr_learners_classif.rfsrc.Rd b/man/mlr_learners_classif.rfsrc.Rd index 6726f76ea..604e38aba 100644 --- a/man/mlr_learners_classif.rfsrc.Rd +++ b/man/mlr_learners_classif.rfsrc.Rd @@ -66,6 +66,7 @@ This \link[mlr3:Learner]{Learner} can be instantiated via \link[mlr3:mlr_sugar]{ save.memory \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr perf.type \tab character \tab - \tab gmean, misclass, brier, none \tab - \cr case.depth \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr + marginal.xvar \tab untyped \tab NULL \tab \tab - \cr } } diff --git a/man/mlr_learners_regr.abess.Rd b/man/mlr_learners_regr.abess.Rd index b68feccb7..287fa01e1 100644 --- a/man/mlr_learners_regr.abess.Rd +++ b/man/mlr_learners_regr.abess.Rd @@ -147,7 +147,7 @@ Creates a new instance of this \link[R6:R6Class]{R6} class. \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-LearnerRegrAbess-selected_features}{}}} \subsection{Method \code{selected_features()}}{ -Extract the name of selected features from the model by \code{\link[abess:extract.abess]{abess::extract()}}. +Extract the name of selected features from the model by \code{\link[abess:extract]{abess::extract()}}. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{LearnerRegrAbess$selected_features()}\if{html}{\out{
}} } diff --git a/man/mlr_learners_regr.cubist.Rd b/man/mlr_learners_regr.cubist.Rd index 1291d8e36..58a1d7139 100644 --- a/man/mlr_learners_regr.cubist.Rd +++ b/man/mlr_learners_regr.cubist.Rd @@ -7,7 +7,7 @@ \description{ Rule-based model that is an extension of Quinlan's M5 model tree. Each tree contains linear regression models at the terminal leaves. -Calls \code{\link[Cubist:cubist.default]{Cubist::cubist()}} from \CRANpkg{Cubist}. +Calls \code{\link[Cubist:cubist]{Cubist::cubist()}} from \CRANpkg{Cubist}. } \section{Dictionary}{ diff --git a/man/mlr_learners_regr.rfsrc.Rd b/man/mlr_learners_regr.rfsrc.Rd index 959758a68..df08a4671 100644 --- a/man/mlr_learners_regr.rfsrc.Rd +++ b/man/mlr_learners_regr.rfsrc.Rd @@ -66,6 +66,7 @@ This \link[mlr3:Learner]{Learner} can be instantiated via \link[mlr3:mlr_sugar]{ save.memory \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr perf.type \tab character \tab - \tab none \tab - \cr case.depth \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr + marginal.xvar \tab untyped \tab NULL \tab \tab - \cr } } diff --git a/man/mlr_learners_surv.blackboost.Rd b/man/mlr_learners_surv.blackboost.Rd index d285e9a62..e128bf634 100644 --- a/man/mlr_learners_surv.blackboost.Rd +++ b/man/mlr_learners_surv.blackboost.Rd @@ -17,7 +17,7 @@ This learner returns two to three prediction types: \enumerate{ \item \code{lp}: a vector containing the linear predictors (relative risk scores), where each score corresponds to a specific test observation. -Calculated using \code{\link[mboost:methods]{mboost::predict.blackboost()}}. +Calculated using \code{\link[mboost:predict.blackboost]{mboost::predict.blackboost()}}. If the \code{family} parameter is not \code{"coxph"}, \code{-lp} is returned, since non-coxph families represent AFT-style distributions where lower \code{lp} values indicate higher risk. \item \code{crank}: same as \code{lp}. diff --git a/man/mlr_learners_surv.cv_glmnet.Rd b/man/mlr_learners_surv.cv_glmnet.Rd index 769e8e57e..3c301e824 100644 --- a/man/mlr_learners_surv.cv_glmnet.Rd +++ b/man/mlr_learners_surv.cv_glmnet.Rd @@ -105,7 +105,7 @@ This \link[mlr3:Learner]{Learner} can be instantiated via \link[mlr3:mlr_sugar]{ If a \code{Task} contains a column with the \code{offset} role, it is automatically incorporated during training via the \code{offset} argument in \code{\link[glmnet:glmnet]{glmnet::glmnet()}}. During prediction, the offset column from the test set is used only if -\code{use_pred_offset = TRUE} (default), passed via the \code{newoffset} argument in \code{\link[glmnet:predict.glmnet]{glmnet::predict.coxnet()}}. +\code{use_pred_offset = TRUE} (default), passed via the \code{newoffset} argument in \code{\link[glmnet:predict.coxnet]{glmnet::predict.coxnet()}}. Otherwise, if the user sets \code{use_pred_offset = FALSE}, a zero offset is applied, effectively disabling the offset adjustment during prediction. } diff --git a/man/mlr_learners_surv.gamboost.Rd b/man/mlr_learners_surv.gamboost.Rd index e8d0545d0..7febb169d 100644 --- a/man/mlr_learners_surv.gamboost.Rd +++ b/man/mlr_learners_surv.gamboost.Rd @@ -53,7 +53,7 @@ This learner returns two to three prediction types: \enumerate{ \item \code{lp}: a vector containing the linear predictors (relative risk scores), where each score corresponds to a specific test observation. -Calculated using \code{\link[mboost:methods]{mboost::predict.gamboost()}}. +Calculated using \code{\link[mboost:predict.gamboost]{mboost::predict.gamboost()}}. If the \code{family} parameter is not \code{"coxph"}, \code{-lp} is returned, since non-coxph families represent AFT-style distributions where lower \code{lp} values indicate higher risk. \item \code{crank}: same as \code{lp}. @@ -152,7 +152,7 @@ Named \code{numeric()}. \if{latex}{\out{\hypertarget{method-LearnerSurvGAMBoost-selected_features}{}}} \subsection{Method \code{selected_features()}}{ Selected features are extracted with the function -\code{\link[mboost:methods]{mboost::variable.names.mboost()}}, with +\code{\link[mboost:variable.names.mboost]{mboost::variable.names.mboost()}}, with \code{used.only = TRUE}. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{LearnerSurvGAMBoost$selected_features()}\if{html}{\out{
}} diff --git a/man/mlr_learners_surv.glmboost.Rd b/man/mlr_learners_surv.glmboost.Rd index a791f56c7..ceb7298a3 100644 --- a/man/mlr_learners_surv.glmboost.Rd +++ b/man/mlr_learners_surv.glmboost.Rd @@ -52,7 +52,7 @@ This learner returns two to three prediction types: \enumerate{ \item \code{lp}: a vector containing the linear predictors (relative risk scores), where each score corresponds to a specific test observation. -Calculated using \code{\link[mboost:methods]{mboost::predict.glmboost()}}. +Calculated using \code{\link[mboost:predict.glmboost]{mboost::predict.glmboost()}}. If the \code{family} parameter is not \code{"coxph"}, \code{-lp} is returned, since non-coxph families represent AFT-style distributions where lower \code{lp} values indicate higher risk. \item \code{crank}: same as \code{lp}. @@ -178,7 +178,7 @@ Named \code{numeric()}. \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-LearnerSurvGLMBoost-selected_features}{}}} \subsection{Method \code{selected_features()}}{ -Selected features are extracted with the function \code{\link[mboost:methods]{mboost::coef.glmboost()}} +Selected features are extracted with the function \code{\link[mboost:coef.glmboost]{mboost::coef.glmboost()}} which by default returns features with non-zero coefficients and for the final number of boosting iterations. diff --git a/man/mlr_learners_surv.glmnet.Rd b/man/mlr_learners_surv.glmnet.Rd index 905170774..c7118fab5 100644 --- a/man/mlr_learners_surv.glmnet.Rd +++ b/man/mlr_learners_surv.glmnet.Rd @@ -21,7 +21,7 @@ This learner returns three prediction types: \enumerate{ \item \code{lp}: a vector containing the linear predictors (relative risk scores), where each score corresponds to a specific test observation. -Calculated using \code{\link[glmnet:predict.glmnet]{glmnet::predict.coxnet()}}. +Calculated using \code{\link[glmnet:predict.coxnet]{glmnet::predict.coxnet()}}. \item \code{crank}: same as \code{lp}. \item \code{distr}: a survival matrix in two dimensions, where observations are represented in rows and time points in columns. @@ -53,7 +53,7 @@ custom resampling strategies (blocked design, stratification). If a \code{Task} contains a column with the \code{offset} role, it is automatically incorporated during training via the \code{offset} argument in \code{\link[glmnet:glmnet]{glmnet::glmnet()}}. During prediction, the offset column from the test set is used only if -\code{use_pred_offset = TRUE} (default), passed via the \code{newoffset} argument in \code{\link[glmnet:predict.glmnet]{glmnet::predict.coxnet()}}. +\code{use_pred_offset = TRUE} (default), passed via the \code{newoffset} argument in \code{\link[glmnet:predict.coxnet]{glmnet::predict.coxnet()}}. Otherwise, if the user sets \code{use_pred_offset = FALSE}, a zero offset is applied, effectively disabling the offset adjustment during prediction. } diff --git a/man/mlr_learners_surv.mboost.Rd b/man/mlr_learners_surv.mboost.Rd index dbf5b606f..d7c99f33d 100644 --- a/man/mlr_learners_surv.mboost.Rd +++ b/man/mlr_learners_surv.mboost.Rd @@ -6,7 +6,7 @@ \title{Boosted Generalized Additive Survival Learner} \description{ Model-based boosting for survival analysis. -Calls \code{\link[mboost:gamboost]{mboost::mboost()}} from \CRANpkg{mboost}. +Calls \code{\link[mboost:mboost]{mboost::mboost()}} from \CRANpkg{mboost}. } \details{ \code{distr} prediction made by \code{\link[mboost:survFit]{mboost::survFit()}}. @@ -17,7 +17,7 @@ This learner returns two to three prediction types: \enumerate{ \item \code{lp}: a vector containing the linear predictors (relative risk scores), where each score corresponds to a specific test observation. -Calculated using \code{\link[mboost:methods]{mboost::predict.mboost()}}. +Calculated using \code{\link[mboost:predict.mboost]{mboost::predict.mboost()}}. If the \code{family} parameter is not \code{"coxph"}, \code{-lp} is returned, since non-coxph families represent AFT-style distributions where lower \code{lp} values indicate higher risk. \item \code{crank}: same as \code{lp}. @@ -153,7 +153,7 @@ Named \code{numeric()}. \if{html}{\out{}} \if{latex}{\out{\hypertarget{method-LearnerSurvMBoost-selected_features}{}}} \subsection{Method \code{selected_features()}}{ -Selected features are extracted with the function \code{\link[mboost:methods]{mboost::variable.names.mboost()}}, with +Selected features are extracted with the function \code{\link[mboost:variable.names.mboost]{mboost::variable.names.mboost()}}, with \code{used.only = TRUE}. \subsection{Usage}{ \if{html}{\out{
}}\preformatted{LearnerSurvMBoost$selected_features()}\if{html}{\out{
}} diff --git a/man/mlr_learners_surv.rfsrc.Rd b/man/mlr_learners_surv.rfsrc.Rd index 78455a8cf..fedafba16 100644 --- a/man/mlr_learners_surv.rfsrc.Rd +++ b/man/mlr_learners_surv.rfsrc.Rd @@ -78,6 +78,7 @@ This \link[mlr3:Learner]{Learner} can be instantiated via \link[mlr3:mlr_sugar]{ save.memory \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr perf.type \tab character \tab - \tab none \tab - \cr case.depth \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr + marginal.xvar \tab untyped \tab NULL \tab \tab - \cr } } diff --git a/tests/testthat/test_mda_classif_mda.R b/tests/testthat/test_mda_classif_mda.R new file mode 100644 index 000000000..a7e769f4d --- /dev/null +++ b/tests/testthat/test_mda_classif_mda.R @@ -0,0 +1,7 @@ +test_that("autotest", { + learner = lrn("classif.mda", subclasses = 1) + expect_learner(learner) + # note that you can skip tests using the exclude argument + result = run_autotest(learner) + expect_true(result, info = result$error) +}) diff --git a/tests/testthat/test_paramtest_mda_classif_mda.R b/tests/testthat/test_paramtest_mda_classif_mda.R new file mode 100644 index 000000000..156bdaf68 --- /dev/null +++ b/tests/testthat/test_paramtest_mda_classif_mda.R @@ -0,0 +1,29 @@ +test_that("classif.mda train", { + learner = lrn("classif.mda") + fun = mda::mda + exclude = c( + "formula", # handled internally + "data", # handled internally + formalArgs(mda::mda.start) # handled internally by mda + ) + + # note that you can also pass a list of functions in case $.train calls more than one + # function, e.g. for control arguments + paramtest = run_paramtest(learner, fun, exclude, tag = "train") + expect_paramtest(paramtest) +}) + +test_that("classif.mda predict", { + learner = lrn("classif.mda") + fun = mda:::predict.mda # nolint + exclude = c( + "object", # handled internally + "data", # handled internally + "newdata", # handled internally + "type", # handled internally + "g"# unknown in CRAN documentation of mda + ) + + paramtest = run_paramtest(learner, fun, exclude, tag = "predict") + expect_paramtest(paramtest) +}) From 8abbabcedac17c2476ba5093d4783685fe334028 Mon Sep 17 00:00:00 2001 From: AnnaNzrv Date: Wed, 6 Aug 2025 21:43:42 +0200 Subject: [PATCH 2/4] run devtools::document --- man/mlr_learners_classif.AdaBoostM1.Rd | 2 +- man/mlr_learners_classif.IBk.Rd | 2 +- man/mlr_learners_classif.J48.Rd | 2 +- man/mlr_learners_classif.JRip.Rd | 2 +- man/mlr_learners_classif.LMT.Rd | 2 +- man/mlr_learners_classif.OneR.Rd | 2 +- man/mlr_learners_classif.PART.Rd | 2 +- man/mlr_learners_classif.bayes_net.Rd | 2 +- man/mlr_learners_classif.decision_stump.Rd | 2 +- man/mlr_learners_classif.decision_table.Rd | 2 +- man/mlr_learners_classif.fastai.Rd | 4 ++-- man/mlr_learners_classif.kstar.Rd | 2 +- man/mlr_learners_classif.logistic.Rd | 2 +- man/mlr_learners_classif.mda.Rd | 2 ++ man/mlr_learners_classif.multilayer_perceptron.Rd | 2 +- man/mlr_learners_classif.naive_bayes_multinomial.Rd | 2 +- man/mlr_learners_classif.naive_bayes_weka.Rd | 2 +- man/mlr_learners_classif.random_forest_weka.Rd | 2 +- man/mlr_learners_classif.random_tree.Rd | 2 +- man/mlr_learners_classif.reptree.Rd | 2 +- man/mlr_learners_classif.sgd.Rd | 2 +- man/mlr_learners_classif.simple_logistic.Rd | 2 +- man/mlr_learners_classif.smo.Rd | 2 +- man/mlr_learners_classif.voted_perceptron.Rd | 2 +- man/mlr_learners_regr.IBk.Rd | 2 +- man/mlr_learners_regr.M5Rules.Rd | 2 +- man/mlr_learners_regr.decision_stump.Rd | 2 +- man/mlr_learners_regr.decision_table.Rd | 2 +- man/mlr_learners_regr.gaussian_processes.Rd | 2 +- man/mlr_learners_regr.kstar.Rd | 2 +- man/mlr_learners_regr.linear_regression.Rd | 2 +- man/mlr_learners_regr.m5p.Rd | 2 +- man/mlr_learners_regr.multilayer_perceptron.Rd | 2 +- man/mlr_learners_regr.random_forest_weka.Rd | 2 +- man/mlr_learners_regr.random_tree.Rd | 2 +- man/mlr_learners_regr.reptree.Rd | 2 +- man/mlr_learners_regr.sgd.Rd | 2 +- man/mlr_learners_regr.simple_linear_regression.Rd | 2 +- man/mlr_learners_regr.smo_reg.Rd | 2 +- man/mlr_learners_surv.bart.Rd | 2 +- 40 files changed, 42 insertions(+), 40 deletions(-) diff --git a/man/mlr_learners_classif.AdaBoostM1.Rd b/man/mlr_learners_classif.AdaBoostM1.Rd index bcdcfc5ed..a55d507d4 100644 --- a/man/mlr_learners_classif.AdaBoostM1.Rd +++ b/man/mlr_learners_classif.AdaBoostM1.Rd @@ -6,7 +6,7 @@ \title{Classification AdaBoostM1 Learner} \description{ Adaptive boosting algorithm for classification. -Calls \code{\link[RWeka:Weka_classifier_meta]{RWeka::AdaBoostM1()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:AdaBoostM1]{RWeka::AdaBoostM1()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.IBk.Rd b/man/mlr_learners_classif.IBk.Rd index 73b2b01d9..78fc1765b 100644 --- a/man/mlr_learners_classif.IBk.Rd +++ b/man/mlr_learners_classif.IBk.Rd @@ -6,7 +6,7 @@ \title{Classification IBk Learner} \description{ Instance based algorithm: K-nearest neighbours regression. -Calls \code{\link[RWeka:Weka_classifier_lazy]{RWeka::IBk()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:IBk]{RWeka::IBk()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.J48.Rd b/man/mlr_learners_classif.J48.Rd index d0dd4363d..57040a2c6 100644 --- a/man/mlr_learners_classif.J48.Rd +++ b/man/mlr_learners_classif.J48.Rd @@ -6,7 +6,7 @@ \title{Classification J48 Learner} \description{ Decision tree algorithm. -Calls \code{\link[RWeka:Weka_classifier_lazy]{RWeka::IBk()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:IBk]{RWeka::IBk()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.JRip.Rd b/man/mlr_learners_classif.JRip.Rd index dd7566103..552ad679f 100644 --- a/man/mlr_learners_classif.JRip.Rd +++ b/man/mlr_learners_classif.JRip.Rd @@ -6,7 +6,7 @@ \title{Classification JRip Learner} \description{ Repeated Incremental Pruning to Produce Error Reduction. -Calls \code{\link[RWeka:Weka_classifier_rules]{RWeka::JRip()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:JRip]{RWeka::JRip()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.LMT.Rd b/man/mlr_learners_classif.LMT.Rd index fb5179d4c..7f161f33c 100644 --- a/man/mlr_learners_classif.LMT.Rd +++ b/man/mlr_learners_classif.LMT.Rd @@ -6,7 +6,7 @@ \title{Classification Logistic Model Trees Learner} \description{ Classification tree with logistic regression models at the leaves. -Calls \code{\link[RWeka:Weka_classifier_trees]{RWeka::LMT()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:LMT]{RWeka::LMT()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.OneR.Rd b/man/mlr_learners_classif.OneR.Rd index 32c2cf87a..c90290462 100644 --- a/man/mlr_learners_classif.OneR.Rd +++ b/man/mlr_learners_classif.OneR.Rd @@ -6,7 +6,7 @@ \title{Classification OneR Learner} \description{ One Rule classification algorithm that yields an extremely simple model. -Calls \code{\link[RWeka:Weka_classifier_rules]{RWeka::OneR()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:OneR]{RWeka::OneR()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.PART.Rd b/man/mlr_learners_classif.PART.Rd index 2ba0fb17f..96d2f7fa6 100644 --- a/man/mlr_learners_classif.PART.Rd +++ b/man/mlr_learners_classif.PART.Rd @@ -6,7 +6,7 @@ \title{Classification PART Learner} \description{ Regression partition tree. -Calls \code{\link[RWeka:Weka_classifier_rules]{RWeka::PART()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:PART]{RWeka::PART()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_classif.bayes_net.Rd b/man/mlr_learners_classif.bayes_net.Rd index 056e3bb14..35fd70013 100644 --- a/man/mlr_learners_classif.bayes_net.Rd +++ b/man/mlr_learners_classif.bayes_net.Rd @@ -6,7 +6,7 @@ \title{Classification Bayes Network Learner} \description{ Bayes Network learning using various search algorithms. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.decision_stump.Rd b/man/mlr_learners_classif.decision_stump.Rd index 0a82cddec..fcbe848bf 100644 --- a/man/mlr_learners_classif.decision_stump.Rd +++ b/man/mlr_learners_classif.decision_stump.Rd @@ -6,7 +6,7 @@ \title{Classification Decision Stump Learner} \description{ Decision Stump Learner. -Calls \code{\link[RWeka:Weka_classifier_trees]{RWeka::DecisionStump()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:DecisionStump]{RWeka::DecisionStump()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.decision_table.Rd b/man/mlr_learners_classif.decision_table.Rd index 6fbb6dcbe..bfbce131a 100644 --- a/man/mlr_learners_classif.decision_table.Rd +++ b/man/mlr_learners_classif.decision_table.Rd @@ -6,7 +6,7 @@ \title{Classification Decision Table Learner} \description{ Simple Decision Table majority classifier. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Initial parameter values}{ diff --git a/man/mlr_learners_classif.fastai.Rd b/man/mlr_learners_classif.fastai.Rd index 6881521c4..dfa031536 100644 --- a/man/mlr_learners_classif.fastai.Rd +++ b/man/mlr_learners_classif.fastai.Rd @@ -27,10 +27,10 @@ After loading a marshaled \code{lrn("classif.fastai")} into R again, you then ne \itemize{ \item \code{n_epoch}: -Needs to be set for \code{\link[fastai:fit]{fastai::fit()}} to work. +Needs to be set for \code{\link[fastai:reexports]{fastai::fit()}} to work. If no value is given, it is set to 5. \item \code{eval_metric}: -Needs to be set for \code{\link[fastai:predict]{fastai::predict()}} to work. +Needs to be set for \code{\link[fastai:reexports]{fastai::predict()}} to work. If no value is given, it is set to \code{fastai::accuracy()}. } } diff --git a/man/mlr_learners_classif.kstar.Rd b/man/mlr_learners_classif.kstar.Rd index b9f338f41..416517c1f 100644 --- a/man/mlr_learners_classif.kstar.Rd +++ b/man/mlr_learners_classif.kstar.Rd @@ -7,7 +7,7 @@ \description{ Instance-based classifier which differs from other instance-based learners in that it uses an entropy-based distance function. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.logistic.Rd b/man/mlr_learners_classif.logistic.Rd index c5ee85518..b6ee2563a 100644 --- a/man/mlr_learners_classif.logistic.Rd +++ b/man/mlr_learners_classif.logistic.Rd @@ -6,7 +6,7 @@ \title{Classification Logistic Regression Learner} \description{ Multinomial Logistic Regression model with a ridge estimator. -Calls \code{\link[RWeka:Weka_classifier_functions]{RWeka::Logistic()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:Logistic]{RWeka::Logistic()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.mda.Rd b/man/mlr_learners_classif.mda.Rd index 0a026f212..50c31bcd1 100644 --- a/man/mlr_learners_classif.mda.Rd +++ b/man/mlr_learners_classif.mda.Rd @@ -49,6 +49,7 @@ This \link[mlr3:Learner]{Learner} can be instantiated via \link[mlr3:mlr_sugar]{ tot.df \tab integer \tab - \tab \tab \eqn{[1, \infty)}{[1, Inf)} \cr trace \tab logical \tab FALSE \tab TRUE, FALSE \tab - \cr tries \tab integer \tab 5 \tab \tab \eqn{[1, \infty)}{[1, Inf)} \cr + weights \tab untyped \tab - \tab \tab - \cr } } @@ -115,6 +116,7 @@ annanzrv
  • mlr3::Learner$reset()
  • mlr3::Learner$selected_features()
  • mlr3::Learner$train()
  • +
  • mlr3::LearnerClassif$predict_newdata_fast()
  • }} diff --git a/man/mlr_learners_classif.multilayer_perceptron.Rd b/man/mlr_learners_classif.multilayer_perceptron.Rd index 4508f06ce..3d1f160c3 100644 --- a/man/mlr_learners_classif.multilayer_perceptron.Rd +++ b/man/mlr_learners_classif.multilayer_perceptron.Rd @@ -6,7 +6,7 @@ \title{Classification MultilayerPerceptron Learner} \description{ Classifier that uses backpropagation to learn a multi-layer perceptron. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.naive_bayes_multinomial.Rd b/man/mlr_learners_classif.naive_bayes_multinomial.Rd index 61922c7c6..54381bc41 100644 --- a/man/mlr_learners_classif.naive_bayes_multinomial.Rd +++ b/man/mlr_learners_classif.naive_bayes_multinomial.Rd @@ -6,7 +6,7 @@ \title{Classification Multinomial Naive Bayes Learner From Weka} \description{ Multinomial Naive Bayes classifier. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.naive_bayes_weka.Rd b/man/mlr_learners_classif.naive_bayes_weka.Rd index 5bc31e6bf..b3a8f5f84 100644 --- a/man/mlr_learners_classif.naive_bayes_weka.Rd +++ b/man/mlr_learners_classif.naive_bayes_weka.Rd @@ -6,7 +6,7 @@ \title{Classification Naive Bayes Learner From Weka} \description{ Naive Bayes Classifier Using Estimator Classes. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.random_forest_weka.Rd b/man/mlr_learners_classif.random_forest_weka.Rd index fb6096c7c..ea8d8145f 100644 --- a/man/mlr_learners_classif.random_forest_weka.Rd +++ b/man/mlr_learners_classif.random_forest_weka.Rd @@ -6,7 +6,7 @@ \title{Classification Random Forest Learner from Weka} \description{ Class for constructing a random forest. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.random_tree.Rd b/man/mlr_learners_classif.random_tree.Rd index e0934857d..8700875e3 100644 --- a/man/mlr_learners_classif.random_tree.Rd +++ b/man/mlr_learners_classif.random_tree.Rd @@ -6,7 +6,7 @@ \title{Classification Random Tree Learner} \description{ Tree that considers K randomly chosen attributes at each node. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.reptree.Rd b/man/mlr_learners_classif.reptree.Rd index 7acaf89b9..fb794df83 100644 --- a/man/mlr_learners_classif.reptree.Rd +++ b/man/mlr_learners_classif.reptree.Rd @@ -6,7 +6,7 @@ \title{Classification Decision Tree Learner} \description{ Fast decision tree learner. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.sgd.Rd b/man/mlr_learners_classif.sgd.Rd index f3d5748b6..38241e159 100644 --- a/man/mlr_learners_classif.sgd.Rd +++ b/man/mlr_learners_classif.sgd.Rd @@ -6,7 +6,7 @@ \title{Classification Stochastic Gradient Descent Learner} \description{ Stochastic Gradient Descent for learning various linear models. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Initial parameter values}{ diff --git a/man/mlr_learners_classif.simple_logistic.Rd b/man/mlr_learners_classif.simple_logistic.Rd index 55480618f..2202b9e3d 100644 --- a/man/mlr_learners_classif.simple_logistic.Rd +++ b/man/mlr_learners_classif.simple_logistic.Rd @@ -6,7 +6,7 @@ \title{Classification SimpleLogistic Learner} \description{ LogitBoost with simple regression functions as base learners. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.smo.Rd b/man/mlr_learners_classif.smo.Rd index 2cfabcf79..e29efb96a 100644 --- a/man/mlr_learners_classif.smo.Rd +++ b/man/mlr_learners_classif.smo.Rd @@ -6,7 +6,7 @@ \title{Classification Support Vector Machine Learner} \description{ Support Vector classifier trained with John Platt's sequential minimal optimization algorithm. -Calls \code{\link[RWeka:Weka_classifier_functions]{RWeka::SMO()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:SMO]{RWeka::SMO()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_classif.voted_perceptron.Rd b/man/mlr_learners_classif.voted_perceptron.Rd index cebcc51a1..2daa4e225 100644 --- a/man/mlr_learners_classif.voted_perceptron.Rd +++ b/man/mlr_learners_classif.voted_perceptron.Rd @@ -6,7 +6,7 @@ \title{Classification Voted Perceptron Learner} \description{ Voted Perceptron Algorithm by Freund and Schapire. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.IBk.Rd b/man/mlr_learners_regr.IBk.Rd index 6ad97410c..9ba414009 100644 --- a/man/mlr_learners_regr.IBk.Rd +++ b/man/mlr_learners_regr.IBk.Rd @@ -6,7 +6,7 @@ \title{Regression IBk Learner} \description{ Instance based algorithm: K-nearest neighbours regression. -Calls \code{\link[RWeka:Weka_classifier_lazy]{RWeka::IBk()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:IBk]{RWeka::IBk()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_regr.M5Rules.Rd b/man/mlr_learners_regr.M5Rules.Rd index c11797b5e..d45a60b80 100644 --- a/man/mlr_learners_regr.M5Rules.Rd +++ b/man/mlr_learners_regr.M5Rules.Rd @@ -7,7 +7,7 @@ \description{ Algorithm for inducing \href{https://en.wikipedia.org/wiki/Decision_list}{decision lists} from model trees. -Calls \code{\link[RWeka:Weka_classifier_rules]{RWeka::M5Rules()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:M5Rules]{RWeka::M5Rules()}} from \CRANpkg{RWeka}. } \section{Dictionary}{ diff --git a/man/mlr_learners_regr.decision_stump.Rd b/man/mlr_learners_regr.decision_stump.Rd index 43ccaf4d9..e42a24fd5 100644 --- a/man/mlr_learners_regr.decision_stump.Rd +++ b/man/mlr_learners_regr.decision_stump.Rd @@ -6,7 +6,7 @@ \title{Regression Decision Stump Learner} \description{ Decision Stump Learner. -Calls \code{\link[RWeka:Weka_classifier_trees]{RWeka::DecisionStump()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:DecisionStump]{RWeka::DecisionStump()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.decision_table.Rd b/man/mlr_learners_regr.decision_table.Rd index 3ff5ab2fd..86099c43e 100644 --- a/man/mlr_learners_regr.decision_table.Rd +++ b/man/mlr_learners_regr.decision_table.Rd @@ -6,7 +6,7 @@ \title{Regression Decision Table Learner} \description{ Simple Decision Table majority regressor. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Initial parameter values}{ diff --git a/man/mlr_learners_regr.gaussian_processes.Rd b/man/mlr_learners_regr.gaussian_processes.Rd index c4d9e00fb..935483629 100644 --- a/man/mlr_learners_regr.gaussian_processes.Rd +++ b/man/mlr_learners_regr.gaussian_processes.Rd @@ -6,7 +6,7 @@ \title{Regression Gaussian Processes Learner From Weka} \description{ Gaussian Processes. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.kstar.Rd b/man/mlr_learners_regr.kstar.Rd index a3dce1801..e5b93217d 100644 --- a/man/mlr_learners_regr.kstar.Rd +++ b/man/mlr_learners_regr.kstar.Rd @@ -7,7 +7,7 @@ \description{ Instance-based regressor which differs from other instance-based learners in that it uses an entropy-based distance function. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.linear_regression.Rd b/man/mlr_learners_regr.linear_regression.Rd index 8c860ccf9..96504e50d 100644 --- a/man/mlr_learners_regr.linear_regression.Rd +++ b/man/mlr_learners_regr.linear_regression.Rd @@ -7,7 +7,7 @@ \description{ Linear Regression learner that uses the Akaike criterion for model selection and is able to deal with weighted instances. -Calls \code{\link[RWeka:Weka_classifier_functions]{RWeka::LinearRegression()}} \CRANpkg{RWeka}. +Calls \code{\link[RWeka:LinearRegression]{RWeka::LinearRegression()}} \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.m5p.Rd b/man/mlr_learners_regr.m5p.Rd index 579fda3d2..600aa7d1f 100644 --- a/man/mlr_learners_regr.m5p.Rd +++ b/man/mlr_learners_regr.m5p.Rd @@ -6,7 +6,7 @@ \title{Regression M5P Learner} \description{ Implements base routines for generating M5 Model trees and rules. -Calls \code{\link[RWeka:Weka_classifier_trees]{RWeka::M5P()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:M5P]{RWeka::M5P()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.multilayer_perceptron.Rd b/man/mlr_learners_regr.multilayer_perceptron.Rd index dc720409b..157a94b5e 100644 --- a/man/mlr_learners_regr.multilayer_perceptron.Rd +++ b/man/mlr_learners_regr.multilayer_perceptron.Rd @@ -6,7 +6,7 @@ \title{Regression MultilayerPerceptron Learner} \description{ Regressor that uses backpropagation to learn a multi-layer perceptron. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.random_forest_weka.Rd b/man/mlr_learners_regr.random_forest_weka.Rd index 59456b9dd..cfe24df37 100644 --- a/man/mlr_learners_regr.random_forest_weka.Rd +++ b/man/mlr_learners_regr.random_forest_weka.Rd @@ -6,7 +6,7 @@ \title{Regression Random Forest Learner from Weka} \description{ Class for constructing a forest of random trees. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.random_tree.Rd b/man/mlr_learners_regr.random_tree.Rd index 55ba0ec0b..136ff9860 100644 --- a/man/mlr_learners_regr.random_tree.Rd +++ b/man/mlr_learners_regr.random_tree.Rd @@ -6,7 +6,7 @@ \title{Regression Random Tree Learner} \description{ Tree that considers K randomly chosen attributes at each node. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.reptree.Rd b/man/mlr_learners_regr.reptree.Rd index b89abe6f5..68e61d5f9 100644 --- a/man/mlr_learners_regr.reptree.Rd +++ b/man/mlr_learners_regr.reptree.Rd @@ -6,7 +6,7 @@ \title{Regression Decision Tree Learner} \description{ Fast decision tree learner. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.sgd.Rd b/man/mlr_learners_regr.sgd.Rd index e06a8302b..ac392d136 100644 --- a/man/mlr_learners_regr.sgd.Rd +++ b/man/mlr_learners_regr.sgd.Rd @@ -6,7 +6,7 @@ \title{Regression Stochastic Gradient Descent Learner} \description{ Stochastic Gradient Descent for learning various linear models. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Initial parameter values}{ diff --git a/man/mlr_learners_regr.simple_linear_regression.Rd b/man/mlr_learners_regr.simple_linear_regression.Rd index 611c79123..a8483f162 100644 --- a/man/mlr_learners_regr.simple_linear_regression.Rd +++ b/man/mlr_learners_regr.simple_linear_regression.Rd @@ -6,7 +6,7 @@ \title{Regression SimpleLinearRegression Learner from Weka} \description{ Simple linear regression model that picks the attribute that results in the lowest squared error. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_regr.smo_reg.Rd b/man/mlr_learners_regr.smo_reg.Rd index 4c5a36335..efb6a78c7 100644 --- a/man/mlr_learners_regr.smo_reg.Rd +++ b/man/mlr_learners_regr.smo_reg.Rd @@ -6,7 +6,7 @@ \title{Regression Support Vector Machine Learner} \description{ Support Vector Machine for regression. -Calls \code{\link[RWeka:Weka_interfaces]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. +Calls \code{\link[RWeka:make_Weka_classifier]{RWeka::make_Weka_classifier()}} from \CRANpkg{RWeka}. } \section{Custom mlr3 parameters}{ diff --git a/man/mlr_learners_surv.bart.Rd b/man/mlr_learners_surv.bart.Rd index 3185d2d41..5e3493f85 100644 --- a/man/mlr_learners_surv.bart.Rd +++ b/man/mlr_learners_surv.bart.Rd @@ -6,7 +6,7 @@ \title{Survival Bayesian Additive Regression Trees Learner} \description{ Fits a Bayesian Additive Regression Trees (BART) learner to right-censored -survival data. Calls \code{\link[BART:surv.bart]{BART::mc.surv.bart()}} from \CRANpkg{BART}. +survival data. Calls \code{\link[BART:mc.surv.bart]{BART::mc.surv.bart()}} from \CRANpkg{BART}. } \section{Prediction types}{ From 9b6ea286a7c23a1b0f6c5f9d512914161b32a130 Mon Sep 17 00:00:00 2001 From: AnnaNzrv Date: Fri, 8 Aug 2025 22:04:18 +0200 Subject: [PATCH 3/4] fix --- tests/testthat/test_mda_classif_mda.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test_mda_classif_mda.R b/tests/testthat/test_mda_classif_mda.R index a7e769f4d..fc30d5e68 100644 --- a/tests/testthat/test_mda_classif_mda.R +++ b/tests/testthat/test_mda_classif_mda.R @@ -1,5 +1,5 @@ test_that("autotest", { - learner = lrn("classif.mda", subclasses = 1) + learner = lrn("classif.mda", subclasses = 2) expect_learner(learner) # note that you can skip tests using the exclude argument result = run_autotest(learner) From ad2f9c230a6170d808059b43c1c278916d53c9ed Mon Sep 17 00:00:00 2001 From: Sebastian Fischer Date: Tue, 26 Aug 2025 13:06:56 +0200 Subject: [PATCH 4/4] skip if not installed --- tests/testthat/test_mda_classif_mda.R | 2 ++ tests/testthat/test_paramtest_mda_classif_mda.R | 2 ++ 2 files changed, 4 insertions(+) diff --git a/tests/testthat/test_mda_classif_mda.R b/tests/testthat/test_mda_classif_mda.R index fc30d5e68..742345ada 100644 --- a/tests/testthat/test_mda_classif_mda.R +++ b/tests/testthat/test_mda_classif_mda.R @@ -1,3 +1,5 @@ +skip_if_not_installed("mda") + test_that("autotest", { learner = lrn("classif.mda", subclasses = 2) expect_learner(learner) diff --git a/tests/testthat/test_paramtest_mda_classif_mda.R b/tests/testthat/test_paramtest_mda_classif_mda.R index 156bdaf68..57b1100ec 100644 --- a/tests/testthat/test_paramtest_mda_classif_mda.R +++ b/tests/testthat/test_paramtest_mda_classif_mda.R @@ -1,3 +1,5 @@ +skip_if_not_installed("mda") + test_that("classif.mda train", { learner = lrn("classif.mda") fun = mda::mda