- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据挖掘——使用R软件预测海藻数量概要
使用R软件预测海藻数量;R软件;背景描述;0 海藻数据;1 数据加载;2 数据摘要;3 数据可视化(1);3 数据可视化(2);4 数据清理;4.1 剔除缺失值(1);4.1 剔除缺失值(2);4.2 用中心趋势值填补缺失值;4.3 通过变量的相关性填补缺失值(1);4.3 通过变量的相关性填补缺失值(2);4.4 通过案例的相关性填补缺失值;5 获取预测模型;5.1 线性回归模型(1);5.1 线性回归模型(2);5.2 回归树模型(1);5.2 回归树模型(2);6 模型评价和选择;k折交叉验证方法;进行模型比较的函数;两个目标模型的函数;函数的说明1;模型的交叉验证比较;查看比较结果;多个预测任务同时进行;函数的说明2;模型对不同海藻的结果;随机森林;随机森林的交叉验证;模型应用的结果;显著性分析;7 预测海藻频率;parSetts-lapply(bestModelsNames,
function(x) getVariant(x,res.all)@pars)
bestModels-list()
for(a in 1:7){
form-as.formula(paste(names(clean.algae)[11+a],~.))
bestModels[[a]]-do.call(funcs[a],
c(list(form,clean.algae[,c(1:11,11+a)]),parSetts[[a]]))
}
其中,funcs保存最优模型的函数名;函数strsplit()提取模型名称;parSetts接受每个最优模型的参数;getVariant()返回模型类对象;@操作符用来访问对象的属性;最后,调用do.call()得到相应的7个最优模型,并赋给bestModels。;2. 填补测试集中的缺失值:
遵守预测模型的黄金法则“不要应用测试集中的任何信息来建立预测模型”,应该使用训练集数据的关系来填补测试集中的缺失值。
clean.test.algae-knnImputation(test.algae,k=10,
distData=algae[,1:11])
3. 获取预测值矩阵:
preds-matrix(ncol=7,nrow=140)
for(i in 1:nrow(clean.test.algae))
preds[i,]-sapply( 1:7, function(x)
predict(bestModels[[x]],clean.test.algae[i,]) );4. 预测值与真实值的比较:
avg.preds-apply(algae[,12:18],2,mean)
apply( ((algae.sols-preds)^2), 2, mean ) /
apply( (scale(algae.sols,avg.preds,F)^2), 2, mean )
这里以目标变量的均值作为基准模型的预测值,然后通过计算NMSE值评估预测结果的质量。
5. 最终得到的结果与前面交叉验证的估计结果相一致。它再次确认很难得到海藻7的较好的预测,而其他海藻的估计结果相对较好,海藻1的估计结果为最佳。;8 小结
文档评论(0)