caret包应用之二:特征选择
caret包应⽤之⼆:特征选择
caret包应⽤之⼆:特征选择
在进⾏数据挖掘时,我们并不需要将所有的⾃变量⽤来建模,⽽是从中选择若⼲最重要的变量,这称为特征选择(feature selection)。⼀种算法就是后向选择,即先将所有的变量都包括在模型中,然后计算其效能(如误差、预测精度)和变量重要排序,然后保留最重要的若⼲变量,再次计算效能,这样反复迭代,出合适的⾃变量数⽬。这种算法的⼀个缺点在于可能会存在过度拟合,所以需要在此算法外再套上⼀个样本划分的循环。在caret包中的rfe命令可以完成这项任务。
⾸先定义⼏个整数,程序必须测试这些数⽬的⾃变量.
subsets = c(20,30,40,50,60,70,80)
四芯线然后定义控制参数,functions是确定⽤什么样的模型进⾏⾃变量排序,本例选择的模型是随机森林即rfFuncs,可以选择的还有
lmFuncs(线性回归),nbFuncs(朴素贝叶斯),treebagFuncs(装袋决策树),caretFuncs(⾃定义的训练模型)。
method是确定⽤什么样的抽样⽅法,本例使⽤cv即交叉检验, 还有提升boot以及留⼀交叉检验LOOCV
ctrl= rfeControl(functions = rfFuncs, method = "cv",verbose = FALSE, returnResamp = "final")
真人三十六式春交图最后使⽤rfe命令进⾏特征选择,计算量很⼤,这得花点时间
Profile = rfe(newdata3, mdrrClass, sizes = subsets, rfeControl = ctrl)
观察结果选择50个⾃变量时,其预测精度最⾼
print(Profile)
Variables Accuracy  Kappa AccuracySD KappaSD Selected
20  0.8200 0.6285    0.04072 0.08550
技嘉主板超频教程
30  0.8200 0.6294    0.04868 0.10102
40  0.8295 0.6487    0.03608 0.07359
50  0.8313 0.6526    0.04257 0.08744        *
60  0.8277 0.6447    0.03477 0.07199
70  0.8276 0.6449    0.04074 0.08353
80  0.8275 0.6449    0.03991 0.08173
94  0.8313 0.6529    0.03899 0.08006描述天气的谚语
⽤图形也可以观察到同样结果
plot(Profile)
下⾯的命令则可以返回最终保留的⾃变量挖煤模式>网络遗嘱
Profile$optVariables

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。