caret包应用之一:数据预处理惩罚
当前位置:以往代写 > 其他教程 >caret包应用之一:数据预处理惩罚
2019-06-14

caret包应用之一:数据预处理惩罚

caret包应用之一:数据预处理惩罚

在举办数据挖掘时,我们会用到R中的许多扩展包,各自有差异的函数和成果。假如能将它们综合起来应用就会很利便。caret包(Classification and Regression Training)就是为了办理分类和回归问题的数据练习而建设的一个综合东西包。下面的例子环绕数据挖掘的几个焦点步调来说明其应用。

本例涉及到的数据是一个医学尝试数据,载入数据之后可以发明其样本数为528,自变量数为342,mdrrDescr为自变量数据框,mdrrClass为因变量。

library(caret)
data(mdrr)
本例的样本数据所涉及到的变量很是多,需要对变量举办劈头降维。个中一种需要删除的变量是常数自变量,可能是方差极小的自变量,对应的呼吁是nearZeroVar,可以看到新数据集的自变量淘汰到了297个。


zerovar=nearZeroVar(mdrrDescr)
newdata1=mdrrDescr[,-zerovar]
另一类需要删除的是与其它自变量有很强相关性的变量,对应的呼吁是findcorrelation。自变量中尚有大概存在多重共线性问题,可以用findLinearCombos呼吁将它们找出来。这样处理惩罚后自变量淘汰为94个。

descrCorr = cor(newdata1)
highCorr = findCorrelation(descrCorr, 0.90)
newdata2 = newdata1[, -highCorr]
comboInfo = findLinearCombos(newdata2)
newdata2=newdata2[, -comboInfo$remove]
我们还需要将数据举办尺度化并补足缺失值,这时可以用preProcess呼吁,缺省参数是尺度化数据,其高级成果还包罗用K近邻和装袋决定树两种要领来预测缺失值。另外它还可以举办cox幂调动和主身分提取。

Process = preProcess(newdata2)
newdata3 = predict(Process, newdata2)
最后是用createDataPartition将数据举办分别,分成75%的练习样本和25%检讨样本,雷同的呼吁还包罗了createResample用来举办简朴的自助法抽样,尚有createFolds来生成多重交错检讨样本。

inTrain = createDataPartition(mdrrClass, p = 3/4, list = FALSE)
trainx = newdata3[inTrain,]
testx = newdata3[-inTrain,]
trainy = mdrrClass[inTrain]
testy = mdrrClass[-inTrain]
在建模前还可以对样本数据举办图形调查,譬喻对前两个变量绘制箱线图

featurePlot(trainx[,1:2],trainy,plot=’box’)

    关键字:

在线提交作业