在多项用户数据中寻找与预测值相关的属性。查看各个特征的分布与特征之间的关联。
分析用户数据,查看特定人群的使用习惯进行产品优化。最后选择合适的模型与参数来进行预测。
解决方案
任务/目标
根据爱彼迎的2009-2014年的用户数据,预测用户第一次预约的目的地城市。
同时分析用户的行为习惯。
数据源准备 :
数据源包含训练集用户数据与测试集用户数据,用户数据包含id, 性别,年龄,创建账户时间,第一次预定时间,目的地城市(需预测值)等。
首先将训练集数据与测试集数据整合在一起。查看数据并清洗数据,处理脏值 。 将年龄中的离群值(<18 或 >100)删除。
特征转换 :
通过画图(柱状图,箱形图)直观展示每个特征的分布情况和该特征对于预测值的影响。
图表 1 性别分布
Zhuhua Huang
图表 2 性别与预测值的关系
视频
从决策树到随机森林:R语言信用卡违约分析信贷数据实例
视频
Boosting集成学习原理与R语言提升回归树BRT预测短鳍鳗分布生态学实例
图表3 App使用种类与目标城市的分布
通过分析,将无意义的特征值删除,如用户id,第一次激活时间等。
将分类数据(性别,语言,使用的设备类型)进行独热编码。
并将时间类型数据转化成年,月,日变量。寻找不同月份与账号创建的关联。
图表4 2013年每月账号创建统计
图表5 2013年每月目的地城市分析
构造
以上说明了如何抽取相关特征,我们大致有如下训练样本(只列举部分特征)。
随时关注您喜欢的主题
划分训练集和测试集
为了证实模型的准确性,将训练集中的数据再分为训练集和测试集。当账户创造时间为2014年以前时,数据为训练集,2014年为测试集。
建模
XGBoost:
高效地实现了GBDT算法并进行了算法和工程上的许多改进,其原理是不断地添加树,每次添加一个树会学习一个新函数f(x),并拟合上次预测的残差。
当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数
最后只需要将每棵树对应的分数加起来就是该样本的预测值。
最后选取概率最大的预测值作为预测结果。
随机森林:
随机森林是一种集成学习,通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。它依靠于决策树的投票选择来决定最后的分类结果。
模型优化
1.特征提取,样本抽样,参数调参。
通过图像可以看出,部分目标城市在某些月份观光量增多。
年纪较长(40+)的人群更倾向于去US。
未填写性别信息的人更倾向于不预定。
使用英语为母语的人群相较于其他人群更倾向于去US。
大多数用户更倾向于使用web进行操作,也有一部分使用ios系统操作。
可以向年长人群与母语为英语人群更多的推荐US的住宿信息,其他人群则多样化的推广。
优化ios,安卓等系统上的产品,以此获得更多用户。
通过使用XGBoost来进行预测,最终得到准确率为0.628
通过使用随机森林来进行预测,最终得到准确率为0.749
可以得出使用随即森林算法比XGBoost准确性更高。
输出/预测结果(部分):
关于作者
Zhuhua Huang
在此对Zhuhua Huang对本文所作的贡献表示诚挚感谢,她在西交利物浦大学完成了信息与计算科学学位。擅长数据采集与处理。
每日分享最新报告和数据资料至会员群
关于会员群
- 会员群主要以数据研究、报告分享、数据工具讨论为主;
- 加入后免费阅读、下载相关数据内容,并同步海内外优质数据文档;
- 老用户可九折续费。
- 提供报告PDF代找服务
非常感谢您阅读本文,如需帮助请联系我们!