caret包应用之一:数据预处理
来源:互联网 发布:网络大v引导舆情走向 编辑:程序博客网 时间:2024/05/22 12:47
原文地址;http://xccds.github.io/2011/09/caret.html/
在进行数据挖掘时,我们会用到R中的很多扩展包,各自有不同的函数和功能。如果能将它们综合起来应用就会很方便。caret包(Classification and Regression Training)就是为了解决分类和回归问题的数据训练而创建的一个综合工具包。下面的例子围绕数据挖掘的几个核心步骤来说明其应用。
本例涉及到的数据是一个医学实验数据,载入数据之后可以发现其样本数为528,自变量数为342,mdrrDescr为自变量数据框,mdrrClass为因变量。
library(caret)本例的样本数据所涉及到的变量非常多,需要对变量进行初步降维。其中一种需要删除的变量是常数自变量,或者是方差极小的自变量,对应的命令是nearZeroVar,可以看到新数据集的自变量减少到了297个。
data(mdrr)
zerovar=nearZeroVar(mdrrDescr)另一类需要删除的是与其它自变量有很强相关性的变量,对应的命令是findcorrelation。自变量中还有可能存在多重共线性问题,可以用findLinearCombos命令将它们找出来。这样处理后自变量减少为94个。
newdata1=mdrrDescr[,-zerovar]
descrCorr = cor(newdata1)我们还需要将数据进行标准化并补足缺失值,这时可以用preProcess命令,缺省参数是标准化数据,其高级功能还包括用K近邻和装袋决策树两种方法来预测缺失值。此外它还可以进行cox幂变换和主成分提取。
highCorr = findCorrelation(descrCorr, 0.90)
newdata2 = newdata1[, -highCorr]
comboInfo = findLinearCombos(newdata2)
newdata2=newdata2[, -comboInfo$remove]
Process = preProcess(newdata2)最后是用createDataPartition将数据进行划分,分成75%的训练样本和25%检验样本,类似的命令还包括了createResample用来进行简单的自助法抽样,还有createFolds来生成多重交叉检验样本。
newdata3 = predict(Process, newdata2)
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')
0 0
- caret包应用之一:数据预处理
- caret包应用之一:数据预处理
- R语言之-caret包应用
- caret包应用之二:特征选择
- caret包应用之二:特征选择
- caret包应用之三:建模与参数优化
- caret包应用之四:模型预测与检验
- 3. 预处理(The caret package)
- caret包处理流程
- caret包处理流程
- caret包函数不完全解析
- SVM学习之一:libsvm中的数据预处理
- 时间序列分析之一:数据预处理
- 分类算法之一——数据预处理
- R语言 caret包 findCorrelation()函数用法
- redhat/centos安装caret包失败
- R语言LDA包数据预处理脚本
- 4. 数据分割(The caret package)
- GUN学习笔记之make变量
- 医疗博文锚文本
- Linux makefile 教程 非常详细,且易懂
- Android中传递对象的三种方法
- mimetype1
- caret包应用之一:数据预处理
- eclipse hibernate tools安装和入门使用
- Jsoup使用指南
- C#中委托和事件的区别实例解析
- Android编译系统
- 转载goosman的励志经历,自励共勉!
- IP地址、网络号、主机号、广播地址等分析计算
- 窗宽与窗位
- GitHub账号