Lesson3:排序与CTR预估问题

一、给出CTR背景知识

1、在online advertising领域,其收费方式有以下几种:

CTR即click through rate,其计算公式如下:

通过预测每只广告的CTR,我们可以评估向用户推荐那些“广告”最赚钱,在实际场景中,对“广告的评估”不仅仅会使用CTR,可能会结合多个指标综合考虑,比如:可能会用CTR * price来评估广告的推荐 会赚多少钱。这是因为,有些广告,click一次可能只有10 ¥,而一些广告一次click可能就达到1000¥,因此,在实际中,选取那些广告放到推荐位置,除CTR以外,还会考虑其他因素。

二、CTR常用model 即评估方式

在CTR预估中,SVM一般不会被使用,常使用的model按frequency可以排列如下:LR(可解释度高),Tree-base(GBDT, random forest),DNN。其中,LR一般用作基准model来使用,当其他model出现问题时,我们会首选LR 进行运作。
此外,在选择model时,我们也可以将LR作为base model,根据它的表现(overfitting or underfitting),来判定我们应该选用什么样的model。
CTR prediction常用评估方式为:AUC曲线。

在CTR预估中,由于data中两种label{click=1,click=0}的数据量极不平衡,因此,可采用下采样的方式 重新组建train data。在下采样中,我们可以将click=1的保留率设置的高一点,click=0的保留率设置的第一点。

在CTR预估中,数据量是很庞大的,如果直接用pandas载入data,内存可能会爆掉(这是因为Pandas会对导入的数据结构做优化,如果导入200M数据 可能需要 上G内存)。因此,我们可以用"Liblinear"来载入数据(这是工业界的做法),Liblinear会将数据载为“sparse data(libsvm format)”。
Liblinear 和 xgboost 均只是 libsvm。

最后,还给出了两种方法“FM 和 FFM”,类似于矩阵分解,解决CTR数据稀疏问题。

三、CTR中一些类型特征的预处理方法

1、用户id 特征处理方法:

我们可以根据data的其他feature,对用户id进行“聚类”,然后对聚类后的class进行one hot encoding,从而得到一个新的特征。

2、时间特征 的 处理方法:

可以将时间特征 进行离散化处理。

3、对于类别型 feature 的处理方式

对于类别型feature,可以统计一下各个类别出现的frequency,对于低频的类别:
1)我们可以将其单独拎出来,看是否可以直接用于prediction;
2)或者,我们可以将那些低频类别,作为一个类别看待,然后,与其他类别一起进行one hot encoding;

4、组合特征 会带来的问题:

1)可能导致数据量过大,内存爆掉;
2)组合特征中的0值过多,1太少,有效sample太少,导致model不准;
一般在实际中,2个feature组合数据量已经很大,3个feature 及以上 组合 一般不用。

四、CTR案例 display advertising challenge 优胜者的解题思路(该案例 在kaggle已经找不到了)

链接:https://github.com/owenzhang/kaggle-avazu

五、老师的CTR案例 display advertising challenge的code

链接:https://github.com/wbqjyjy/ML-/tree/master/kaggle%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/avazu-CTR-Prediction-LR

五、可以用于练手的“大众点评”数据

链接: https://pan.baidu.com/s/1qYRM2cs 密码: twa7

参考format:Kaggle滑水 - CTR预估(GBDT-LR)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sarah ฅʕ•̫͡•ʔฅ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值