教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

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

来源:网络收集 时间:2026-08-27
导读: 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标

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文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/404734.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)