R语言对airbnb数据nlp文本挖掘、地理、词云可视化、回归GAM模型、交叉验证分析

作者:Guojiang Zhao

数据量大,数据要进行清洗以及预处理,同时要多方面可视化,要探索多变量对因变量的影响。

解决方案

R语言读取数据,对数据进行清洗合并以及预处理,数据可视化,特征工程以及变量选择,建模,交叉验证,模型评价。

任务/目标

对价格进行预测并且比较

特征转换

处理缺失值(对缺失值进行插值以及取均值进行处理,同时去掉一些缺失较少的数据行)

将因子变量变为数值型变量好做best subset selection来进行特征选择等等

可视化

 

运用nlp以及词云可视化

构造

以上说明了如何抽取相关特征,我们大致有如下训练样本(只列举部分特征)。

划分训练集和测试集

训练集70%和测试集30%

变量选择:best subset selection

 

选取5个最佳的变量 

建模

预测价格

  1. 多元回归分析
  2. GAM模型(平滑样条,多项式回归,三次样条)
  3. 不同变量通过cross-validation来选择哪一种模型是cv.error最小的

如图:

最后得到最终的一个模型

 

回归决策树

剪枝后

预测

三个模型中分别对price预测

模型比较:

比较预测值和实际值的RMSE,选取最优模型

三个模型price预测值与实际值

比较:

 可以看出,GAM模型是三个模型中最适合的,然后可以依据该模型对price进行预测。

关于作者

在此对Guojiang Zhao对本文所作的贡献表示诚挚感谢,他在卡耐基梅隆大学完成了硕士学位,擅长机器学习,数据挖掘,数理统计,数据分析。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值