前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【SPA大赛】转化率预估中的用户偏好Emebeding

【SPA大赛】转化率预估中的用户偏好Emebeding

原创
作者头像
张卫国
修改2017-06-19 18:55:50
1.5K0
修改2017-06-19 18:55:50
举报
文章被收录于专栏:张卫国的专栏张卫国的专栏

分享技巧:Emebeding降维(用户偏好分析)

在Tencent广告算法大赛中,在对用户点击之后的转化情况预估时,笔者主要需要考虑两方面情况:

(1)用户对点击的App偏好;

(2)具体点击场景与用户的匹配情况。

其中(1)又可分为:①具体用户对App的偏好;②用户的属性对App的偏好。这两点大致可理解为:我喜欢APP,所以我下载,或者虽然我以前没接触过这类APP,但这类APP对我这类人群具有天然的吸引力,所以我也下载了。这里主要分析①中用户偏好。

根据比赛提供的数据,用户偏好可以从以下三个方面寻找:①用户近期的流水安装;②用户的历史APP安装;③用户近期的点击情况。这三点中,重要性程度:①>②>③,但是①的数据量只有部分,约占到全部数据量的1/10,②的数据量约1/2,③就更稀疏,训练数据中300万,去重的USERID有180万,每个用户的平均记录只有2条,想要找到对应该用户在前面几天点击该APP的记录很困难,只对部分用户有效。

虽然在XGBOOST中,但过多的缺失会导致重要的特征变得不重要,因此我们在进行Emebeding时只采用历史安装数据,保证Emebeding数据的标准性,不需要再进行其他规范化处理。

用户安装历史数据统计如下:

这里我把未知类型的APP当作一类APP来看待,现在看来,未知种类的APP在考虑偏好时,应该去掉不予考虑。

用户偏好可从用户历史安装数据出发,近期用户安装流水数据作为近期用户偏好在这里不进入分析(实际上,近期的偏好更能反映用户点击时的转化情况),用户历史安装数据中App种类较多,远多于我们分析的50种App,因此在Emebeding时,只统计用户每小类安装的APP数目,用户安装之后打开APP的几率较大。Emebeding流程如下:

  • (1)统计每个用户历史安装的各小类APP数目,生成(N*M)维数据表,N为用户ID,M为APP种类数;
  • (2)对(1)生成的数据进行Tfidf转换;
  • (3)利用TSNE流形对数据集降维至2维;
  • (4)将降维后的数据Join入点击流水记录进行训练。

统计用户的APP安装使用情况,共有5大类APP,50小类APP,1800多个APP,因为这1800个APP中在训练数据中出现的只有12个,且如果采用大类数目统计,这些大类APP安装数目很容易占到非常大的特征权重,因此这里只按APP小类目进行统计。

统计出转化与未转化的分布如下图,其实转化与未转化之间并没有分开,只是可以看见转化了的分布较集中,越靠近中间的簇,是不是就转化率越高,暂时还不清楚,笔者用Emebeding之后的特征与时间窗特征,xgboost单模型,可以跑到0.10059的分数。

主要工具:

sklearn中的feature_extraction.text.Tfidf(),sklearn中的mainfold.TSNE(),这个模块只能用来实验,对于样本数超出100000时,基本无能为力,因此这里给大家提供一个额外的计算程序,实际上这个程序也好不了多少,笔者能力有限,是用MATLAB完成的这部分处理,有经验的同学,Python程序可以轻松的转为MATLAB程序。

TSNE是由SNE衍生出的一种算法,SNE最早出现在2002年,它改变了MDS和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而Tsne将低维中的坐标当做T分布,这样做的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。

TSNE算法原理:http://blog.csdn.net/zhangweiguo_717/article/details/70188517 TSNE的Python实现:http://blog.csdn.net/zhangweiguo_717/article/details/70998959

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档