文档详情

数据挖掘——使用R软件预测海藻数量概要.ppt

发布:2018-03-11约1.35千字共39页下载文档
文本预览下载声明
使用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 小结
显示全部
相似文档