R与数据挖掘(学习决策树和随机森林的R语句)(4)

2019-07-30 13:35

b)接下来是交叉验证的结果

# 3折交叉验证,k取11

n = 699; zz1 = 1:n; # zz1为所有观测值(行)的下标

zz2 = rep(1:3, ceiling(699/3))[1:n]; set.seed(100); zz2 = sample(zz2, n); # 将样本随机分成三份,用zz2标记分到哪一份 nmse = list(NULL, NULL);

c <- breast_cancer_median; # 为了代码简洁将原来的数据赋值给c for (i in 1:3) {

data.train = c[-c(which(zz2 == i)), ]; # 训练集 data.test = c[c(zz2 == i), ]; # 测试集

d.train <- kknn(factor(btype)~., test = data.train, train = data.train, k = 11); # 训练结果

d.test <- kknn(factor(btype)~., test = data.test, train = data.train, k = 11); # 训练结果

table1 = table(predict(d.train, data.train, type = \ # 训练集混淆矩阵

table2 = table(predict(d.test , data.test, type = \ # 测试集混淆矩阵

nmse[[1]][i] = 1 - sum(diag(table1))/nrow(data.train); # 训练集错误率 nmse[[2]][i] = 1 - sum(diag(table2))/sum(table2); # 测试集错误率 cat(\第\折:\

cat(\训练集的错误率为:\

cat(\测试集的错误率为:\}

NMSE = array();

NMSE[1] = sum(nmse[[1]])/3; # 训练集平均错误率 NMSE[2] = sum(nmse[[2]])/3; # 测试集平均错误率

cat(\训练集上的平均错误率为:\cat(\测试集上的平均错误率为:\

结果:kknn method第 1 折: 训练集的错误率为: 0.01502146 测试集的错误率为: 0.03433476

kknn method第 2 折:

训练集的错误率为: 0.01287554 测试集的错误率为: 0.06008584

kknn method第 3 折:

训练集的错误率为: 0.01072961

16

测试集的错误率为: 0.0472103

knn method训练集上的平均错误率为: 0.01287554 knn method测试集上的平均错误率为: 0.0472103

C)方法比较

可以看出随机森林在训练集和测试集的效果都是最好的。

17


R与数据挖掘(学习决策树和随机森林的R语句)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:以数质量管理为重点,确保区域油品供应

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: