caret包处理流程
来源:互联网 发布:ubuntu路径设置 编辑:程序博客网 时间:2024/06/09 18:51
data(mdrr)
# 0 variance
newdata <- mdrrDescr[, -nearZeroVar(mdrrDescr)]
# high cor
descrCorr <- cor(newdata)
newdata2 <- newdata[, -findCorrelation(descrCorr)]
# 去掉共线性(如果存在)
comboInfo <- findLinearCombos(newdata2)
if(!is.null(comboInfo)){
newdata3 <- newdata2[, -comboInfo$remove]
# 如果有缺失值,使用bagImpute,knnImpute进行计算填补
if(nrow(newdata2[!complete.cases(newdata2),])=0)
{
process <- preProcess(newdata2, method="bagImpute")
pre <- predict(process, newdata2)
}
# feather selection
# 产生检测属性个数的序列
subsets <- seq(2, ncol(newdata2), by=2)
# define rfeControl
ctl <- rfeControl(functions=rfFuncs, method="cv", verbose=FALSE, returnResamp="final")
# rfe: feature selection
pro <- rfe(newdata2, mdrrClass, sizes = subsets, rfeControl=ctl)
plot(pro);
# feature selected variables
pro$optVariables
# 训练模型
# 获取特征选择后的属性
newdata4 <- newdata2[, pro$optVariables]
# 训练数据和测试数据
index <- createDataPartition(mdrrClass, p=3/4, list=F)
trainx <- newdata4[index,]
trainy <- mdrrClass[index]
testx <- newdata4[-index,]
testy <- mdrrClass[-index]
# 设置模型训练参数并拟合模型
fitControl <- trainControl(method="repeatedcv", number=10, repeats=3, returnResamp="all")
gbmGrid <- expand.grid(.interaction.depth=c(1,3), .n.trees=seq(50,300,by=50), .shrinkage=0.1)
gbmFit1 <- train(trainx, trainy, method="gbm", trControl=fitControl, tuneGrid= gbmGrid, verbose=F)
trainControl
plot(gbmFit1)
# 使用训练好的模型进行predict
predict(gbmFit1, newdata=testx)
# 混淆矩阵查看结果
table(testy, predict(gbmFit1, newdata=testx))
# 使用另外的模型(装袋法)
gbmFit2 <- train(trainx, trainy, method="treebag", trControl=fitControl)
table(testy, predict(gbmFit2, newdata=testx))
models <- list(gbmFit1, gbmFit2);
predValues <- extractPrediction(models, testX=testx, testY=testy)
# predValues <- extractPrediction(models, testX=testx)
- caret包处理流程
- caret包处理流程
- caret包函数不完全解析
- R语言:利用caret包中的dummyVars函数进行虚拟变量处理
- R语言之-caret包应用
- caret包应用之一:数据预处理
- caret包应用之二:特征选择
- R语言 caret包 findCorrelation()函数用法
- caret包应用之一:数据预处理
- caret包应用之二:特征选择
- redhat/centos安装caret包失败
- CAVIUM包处理流程总结
- caret包应用之三:建模与参数优化
- caret包应用之四:模型预测与检验
- R语言利用caret包比较ROC曲线
- R语言利用caret包比较ROC曲线
- R语言利用caret包比较模型性能差异
- DPDK收发包处理流程 ----- 网卡初始化
- 第二部分 Linux Shell高级编程技巧——第三章 运行级别脚本介绍
- 【Linux学习笔记】栈与函数调用惯例—上篇
- 强大的grep用法详解:grep与正则表达式
- Google C++ Style Guide
- Mahout in action书中源码导入eclipse
- caret包处理流程
- adb 常用命令
- Dialog学习实例
- offsetof函数的应用
- [C++]以不同用户身份运行程序
- Selenium超简单入门
- QT父子与QT对象delete
- 重学Android 之路之一 APK签名
- 程序员薪水最高的25家公司 Juniper超Google位列第一