cv.moml: MOML with Cross-Validation

View source: R/cv.moml.R

cv.momlR Documentation

MOML with Cross-Validation

Description

Tune the regularization parameter for MOML by cross-validation.

Usage

cv.moml(
  x,
  treatment,
  reward,
  propensity_score,
  loss = c("logistic", "boost", "hinge.boost", "lum"),
  penalty = c("glasso", "lasso"),
  weights = NULL,
  offset = NULL,
  intercept = TRUE,
  control = moml.control(),
  nfolds = 5L,
  stratified = TRUE,
  alignment = c("fraction", "lambda"),
  refit = FALSE,
  ...
)

Arguments

x

A numeric matrix representing the design matrix. No missing valus are allowed. The coefficient estimates for constant columns will be zero. Thus, one should set the argument intercept to TRUE to include an intercept term instead of adding an all-one column to x.

treatment

The assigned treatments represented by a character, integer, numeric, or factor vector.

reward

A numeric vector representing the rewards. It is assumed that a larger reward is more desirable.

propensity_score

A numeric vector taking values between 0 and 1 representing the propensity score.

loss

A character value specifying the loss function. The available options are "logistic" for the logistic deviance loss, "boost" for the exponential loss approximating Boosting machines, "hinge.boost" for hybrid of SVM and AdaBoost machine, and "lum" for largin-margin unified machines (LUM). See Liu, et al. (2011) for details.

penalty

A character vector specifying the name of the penalty.

weights

A numeric vector for nonnegative observation weights. Equal observation weights are used by default.

offset

An optional numeric matrix for offsets of the decision functions.

intercept

A logical value indicating if an intercept should be considered in the model. The default value is TRUE and the intercept is excluded from regularization.

control

A list of control parameters. See abclass.control() for details.

nfolds

A positive integer specifying the number of folds for cross-validation. Five-folds cross-validation will be used by default. An error will be thrown out if the nfolds is specified to be less than 2.

stratified

A logical value indicating if the cross-validation procedure should be stratified by the response label. The default value is TRUE to ensure the same number of categories be used in validation and training.

alignment

A character vector specifying how to align the lambda sequence used in the main fit with the cross-validation fits. The available options are "fraction" for allowing cross-validation fits to have their own lambda sequences and "lambda" for using the same lambda sequence of the main fit. The option "lambda" will be applied if a meaningful lambda is specified. The default value is "fraction".

refit

A logical value indicating if a new classifier should be trained using the selected predictors or a named list that will be passed to abclass.control() to specify how the new classifier should be trained.

...

Other arguments passed to the control function, which calls the abclass.control() internally.


abclass documentation built on Nov. 5, 2025, 6:27 p.m.