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



对于确定性前向或后向搜索,我习惯于为链接到各个特征的系数的p值提供阈值。在R/MLR中makeFeatureSelControlSequential的文档中https://www.rdocumentation.org/packages/mlr/versions/2.13/topics/FeatSelControl,α和β参数描述如下:

  • alpha(数字(1((:顺序特征选择的参数。前进/添加步骤所需的最小改进差值。默认值为0.01
  • β(数字(1((:顺序特征选择的参数。后退/移除步骤所需的最小改进差值。负值意味着您允许删除某个特征的次数略有减少。默认值为-0.001

然而,这里的"改善差异"是什么意思还不清楚。在下面的例子中,我给出了0作为向后选择的trehold(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中指定的改进。重复该过程,直到存在所有特征(前向搜索(或不存在特征(后向搜索(,或者如果不能实现由参数指定的最小改进。

相关内容

  • 没有找到相关文章

最新更新