编程技能(八)懂R语言——数据挖掘(以线性回归分析为例)

思维导图

本文通过一个真实面试题目来讲解R语言的数据挖掘

一、题目

建立线性回归模型,预测各个酒店未来一段时间每天的订单量

数据:

二、数据处理

  • 首先,将没有任何意义的单纯表示排序的第一列去除,并将除y之外的所有变量都视为自变量

  • 另外,在原始数据集中,date变量不具有任何意义,绘制折线图如下:

  • 可以发现date的周期大约为7天,符合认知,于是将date转化为星期

  • 代码示例:

三、查看模型效果并进行模型调优

1.查看模型效果

  • 使用summary函数查看当前模型情况:

  • 可以看到,模型还有很大的提升空间,很多变量的显著性不是很明显,可以去掉,避免过拟合,同时也可以引入交互项和高次项。

2.模型调优

  • 因此,引入交互项和高次项,同时通过AIC和BIC方法进行变量筛选

  • 代码示例:

  • 通过AIC和BIC方法,选出了两个不同的线性回归模型

  • 由于BIC引入了对变量数量的惩罚系数,因此它选出的变量更少

3.模型对比

  • 通过交叉验证做进一步对比

  • 代码示例:

  • 输出结果:

  • 通过对比两个模型的MSE(均方误差),会发现使用BIC方法选出的模型的MSE更小,并且用到的变量更少。

四、选择最终模型对测试集进行预测

  • 预测并将结果写入CSV文件:


参考文献

1.《拿下Offer 数据分析师求职面试指南》徐麟 著

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容