前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爱彼迎Airbnb新用户体验数据XGBoost、随机森林预测

Python爱彼迎Airbnb新用户体验数据XGBoost、随机森林预测

原创
作者头像
拓端
发布2023-05-12 21:50:28
2190
发布2023-05-12 21:50:28
举报
文章被收录于专栏:拓端tecdat拓端tecdat

全文链接:http://tecdat.cn/?p=32380

原文出处:拓端数据部落公众号

分析师:Zhuhua Huang

在多项用户数据中寻找与预测值相关的属性。查看各个特征的分布与特征之间的关联。分析用户数据,查看特定人群的使用习惯进行产品优化。最后选择合适的模型与参数来进行预测。

解决方案

任务/目标

根据爱彼迎的2009-2014年的用户数据,预测用户第一次预约的目的地城市。同时分析用户的行为习惯。

数据源准备

数据源包含训练集用户数据与测试集用户数据,用户数据包含id, 性别,年龄,创建账户时间,第一次预定时间,目的地城市(需预测值)等。

首先将训练集数据与测试集数据整合在一起。查看数据并清洗数据,处理脏值 将年龄中的离群值(<18 或 >100)删除。

特征转换

通过画图(柱状图,箱形图)直观展示每个特征的分布情况和该特征对于预测值的影响。

image.png
image.png

图表 1 性别分布

image.png
image.png

图表 2 性别与预测值的关系

image.png
image.png

图表3 App使用种类与目标城市的分布

通过分析,将无意义的特征值删除,如用户id,第一次激活时间等。

将分类数据(性别,语言,使用的设备类型)进行独热编码。

并将时间类型数据转化成年,月,日变量。寻找不同月份与账号创建的关联。

image.png
image.png

图表4 2013年每月账号创建统计

1111.png
1111.png

图表5 2013年每月目的地城市分析


构造

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

image.png
image.png

划分训练集和测试集

为了证实模型的准确性,将训练集中的数据再分为训练集和测试集。当账户创造时间为2014年以前时,数据为训练集,2014年为测试集。

建模

XGBoost:

高效地实现了GBDT算法并进行了算法和工程上的许多改进,其原理是不断地添加树,每次添加一个树会学习一个新函数f(x),并拟合上次预测的残差。

当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数

最后只需要将每棵树对应的分数加起来就是该样本的预测值。

最后选取概率最大的预测值作为预测结果。

随机森林:

随机森林是一种集成学习,通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成单预测,因此优于任何一个单分类的做出预测。它依靠于决策树的投票选择来决定最后的分类结果。

模型优化

1.特征提取,样本抽样,参数调参。

通过图像可以看出,部分目标城市在某些月份观光量增多。

年纪较长(40+)的人群更倾向于去US。

未填写性别信息的人更倾向于不预定。

使用英语为母语的人群相较于其他人群更倾向于去US。

大多数用户更倾向于使用web进行操作,也有一部分使用ios系统操作。

可以向年长人群与母语为英语人群更多的推荐US的住宿信息,其他人群则多样化的推广。

优化ios,安卓等系统上的产品,以此获得更多用户。

通过使用XGBoost来进行预测,最终得到准确率为0.628

通过使用随机森林来进行预测,最终得到准确率为0.749

可以得出使用随即森林算法比XGBoost准确性更高。

输出/预测结果(部分):

image.png
image.png

关于作者

image.png
image.png

在此对Zhuhua Huang对本文所作的贡献表示诚挚感谢,她在西交利物浦大学完成了信息与计算科学学位。擅长数据采集与处理。


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全文链接:http://tecdat.cn/?p=32380
  • 原文出处:拓端数据部落公众号
  • 分析师:Zhuhua Huang
  • 解决方案
    • 任务/目标
    • 数据源准备 :
    • 特征转换 :
    • 构造
      • 划分训练集和测试集
      • 建模
      • XGBoost:
      • 随机森林:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档