函数 makeFeatSelControlSequential 中 alpha 和 beta 参数的含义(R 中的 MLR 库)

Meaning of alpha and beta parameters in function makeFeatSelControlSequential (MLR library in R)

对于确定性的前向或后向搜索,我习惯于为关联到各个特征的系数的 p 值设置阈值。 R/MLRhttps://www.rdocumentation.org/packages/mlr/versions/2.13/topics/FeatSelControl中makeFeatSelControlSequential的文档中alpha和beta参数说明如下:

然而,这里的 "improvement difference" 是什么意思还不清楚。在下面的示例中,我将 0 作为向后选择的阈值(beta 参数)。如果此参数与 p 值的阈值相关,我希望得到没有特征的模型,但事实并非如此,因为我得到的 AUC 是 0.9886302 而不是 0.5。

# 1. Find a synthetic dataset for supervised learning (two classes)
###################################################################

library(mlbench)
data(BreastCancer)

# generate 1000 rows, 21 quantitative candidate predictors and 1 target variable 
p<-mlbench.waveform(1000) 

# convert list into dataframe
dataset<-as.data.frame(p)

# drop thrid class to get 2 classes
dataset2  = subset(dataset, classes != 3)
dataset2  <- droplevels(dataset2  ) 


# 2. Perform cross validation with embedded feature selection using logistic regression
##########################################################################################

library(BBmisc)
library(mlr)

set.seed(123, "L'Ecuyer")
set.seed(21)

# Choice of data 
mCT <- makeClassifTask(data =dataset2, target = "classes")

# Choice of algorithm 
mL <- makeLearner("classif.logreg", predict.type = "prob")

# Choice of cross-validations for folds 

outer = makeResampleDesc("CV", iters = 10,stratify = TRUE)

# Choice of feature selection method

ctrl = makeFeatSelControlSequential(method = "sbs", maxit = NA,beta = 0)

# Choice of sampling between training and test within the fold

inner = makeResampleDesc("Holdout",stratify = TRUE)

lrn = makeFeatSelWrapper(mL, resampling = inner, control = ctrl)
r = resample(lrn, mCT, outer, extract = getFeatSelResult,measures = list(mlr::auc,mlr::acc,mlr::brier),models=TRUE)

这些参数控制可以接受的性能差异(对于您选择的任何性能度量)以继续向前或向后搜索的步骤。 mlr 不计算任何 p 值,并且在此过程中不使用 p 值。

由于参数只控制一步中发生的事情,它们也不直接控制最终结果。幕后发生的事情是,例如对于前向搜索,MLR 计算所有特征集的性能,这些特征集用单个特征扩展当前特征集,并选择最好的一个,只要它至少提供 alpha 或 beta 中指定的改进。重复此过程,直到出现所有特征(前向搜索)或不存在特征(后向搜索),或者如果无法实现参数指定的最小改进。