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

分享技巧: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

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

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

编辑于

张卫国的专栏

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

重磅译制 | 更新:牛津大学xDeepMind自然语言处理 第6讲(上)NLP硬件和软件-英伟达GPU

1228
来自专栏程序你好

从业务数据分析到机器学习应用的一次经历

912
来自专栏Albert陈凯

R语言的优劣

https://www.zhihu.com/question/19611094 作者:艾华丰 链接:https://www.zhihu.com/questio...

2293
来自专栏生信技能树

【直播】我的基因组49:Y染色体的SNV不能用常规流程来找?

在上一次直播中,我们说到了一个不符合我们的认知的问题。就是我的全基因组测序数据里找到的SNV的纯合杂合比例失衡,这着实让我非常纠结。在朋友圈大量求助中,肿瘤所的...

2779
来自专栏张红林的专栏

常见机器学习效果调优思路整理

实际工作中,对模型和算法的效果如果不满意,需要进行调优,但往往不知道该怎么下手,本文是一篇博客的学习笔记,分享给大家。

7250
来自专栏ATYUN订阅号

TensorFlow推出新工具Seedbank,可查找大量ML示例

发现和开始使用机器学习可能并不容易。也许你有一个项目的模糊想法,正在寻找入手点。或者也许你正在寻找灵感,并想要了解可能的情况。

953
来自专栏腾讯Bugly的专栏

《从业务数据分析到机器学习应用的一次经历》

本文通过一次完整的项目经历,从业务数据的分析开始,到产品优化建议,再到通过机器学习进行进一步的处理进行了比较完成的提炼。

55911
来自专栏专知

如何写好一篇出色的研究论文

选择一个你感兴趣的话题。这样写起来容易多了,你的努力会在你的工作中展现出来。试着专注于你的主题中的一个特定领域,但也要小心不要选择一个有太多途径和资源的话题。从...

1613
来自专栏机器之心

观点 | 属于动态图的未来:横向对比PyTorch与Keras

选自reddit 作者:Marc Schmidt 机器之心编译 参与:Rick、李泽南 PyTorch 对机器学习领域的影响正在不断扩大,人们在使用中也在不断...

2636
来自专栏数据科学与人工智能

【应用】从业务数据分析到机器学习应用的一次经历

本文通过一次完整的项目经历,从业务数据的分析开始,到产品优化建议,再到通过机器学习进行进一步的处理进行了比较完成的提炼。 腾讯电脑管家作为一款目前最流行的pc端...

1000

扫码关注云+社区