1、CTR:

(1)几个概念:

  impression(展示):用户看到该广告的次数。也就是一个广告被显示了多少次,它就计数多少。比如:打开网站的一个页面,网站上的所有广告就被显示了一次,每个广告增加1个,如果刷新就再增加一个。

  click(点击):用户点击该广告的次数

  CTR:click through rate 广告点击率

  CTR = click次数 / impression次数

(2)任务:

  CTR预估任务:给定用户(user),给定一个商品(product),给定了一定的环境,来看用户会不会买这个商品,买该商品的概率有多高;或者说给用户推荐一个电影,用户会不会看这个电影。

这里要训练一个模型,X表示训练数据的输入,即各种特征,Y表示输出,Y的取值为1到5。

(3)应用:

  计算广告、推荐系统、信息流排序。

  计算广告:比如很多广告,用户会点击哪些?

  推荐系统:推荐系统可以转化成CTR预估,比如电影推荐,用户会不会看?

  信息流排序:百度头条微博都在做信息流,比如微博中你关注了很多人,他们会有很多信息发布出来,则优先给你展示哪些内容你可能会点呢?这涉及到怎么为那些推送给你的信息流进行重新排序。

2、广告中几种计费方式:

CPM:不管用户对该广告有任何行为(点击不点击),广告只要曝光就得收费,一般在游戏场景下用的比较多。

CPC:广告曝光后根据用户点击数量来收费,一些搜索引擎常用的收费方式。

CPA:代价比较大,用户必须有行为,也就是用户必须点击进去然后下订单进行收费。

3、CTR

CTP=click次数 / impression次数,比如说将CTR与price相乘作为广告排序的依据。

4、基于LR的CTR预测

LR的优点:简单、可解释性强(像DNN难以解释)(若出问题可以查看是数据出问题还是模型出问题)

5、论文Practical Lessons from Pre dicting Clicks on Ads at Facebook

  论文结合了GBDT和LR来预测CTR,评价指标为NE和Calibration。

(1)评价指标:

  ① NE为归一化熵:公式为,其中分子为LR的损失函数,yi为样本i的label(值为1/-1),pi为样本i的点击预测概率。分母为原样本数据集平均损失(平均信息熵),p为正样本的概率。NE的作用:在模型的帮准下,样本剩余的不确定性和没有模型时样本的不确定性的比值。NE值越低越好。

  ② Calibration:等于预测点击数 / 实际点击数,值越大越好。

(2)模型:

  ①两种在线学习方法:基于LR的SGD、BOPR

    SGD:

    

    BOPR:基本思想是参数w是一个先验分布为正态分布的分布,参数为u、σ;

    

    在贝叶斯框架下,每一个样本都是在修正对应的分布参数u、σ。每轮迭代时对应的更新公式为:

    

  ②决策树

  前提:随着特征的增加,特征组合变得很困难,特征组合是在特征离散化之后做的,故组合之后特征可能会爆炸,造成维度灾难。所以一种解决特征组合问题的方案被提出。GBDT+LR。

  GBDT基本思路:利用树模型的组合特性来自动做特征组合,即使用了GBDT的特征组合能力。整体框架如下:

GBDT可以看做是对特征一种组合编码的过程,最后的LR才是最终的分类(回归)模型。

  

  

数据分析例子-------CTR1的更多相关文章

  1. Hadoop第10周练习—Mahout部署及进行20newsgroup数据分析例子

    :搭建Mahout环境 :运行20newsgroup 内容 运行环境说明 1.1 硬软件环境 线程,主频2.2G,6G内存 l  虚拟软件:VMware® Workstation 9.0.0 buil ...

  2. Python数据分析------例子1(信用卡欺诈)

    1.读取数据 data=read_csv(path) data.head() #画图(查看class即分类的数据条形图),函数sort_index()是将dataframe按照行索引来排序输出值 co ...

  3. Javaweb 第15天 web练习和分页技术

    第15天 web练习和分页技术 复习day14内容: 学习新技术的思路? 分析功能的思路? 使用queryRunner操作数据库的步骤? ResultSetHandler接口常用实现类(三个重点)? ...

  4. 【R与数据库】R + 数据库 = 非常完美

    前言 经常用R处理数据的分析师都会对dplyr包情有独钟,它强大的数据整理功能让原始数据从杂乱无章到有序清晰,便于后期进一步的深入分析,特别是配合上数据库的使用,更是让分析师如虎添翼,轻松搞定Exce ...

  5. 第十三章:Python の 网络编程进阶(二)

    本課主題 SQLAlchemy - Core SQLAlchemy - ORM Paramiko 介紹和操作 上下文操作应用 初探堡垒机 SQLAlchemy - Core 连接 URL 通过 cre ...

  6. 《利用python进行数据分析》读书笔记 --第一、二章 准备与例子

    http://www.cnblogs.com/batteryhp/p/4868348.html 第一章 准备工作 今天开始码这本书--<利用python进行数据分析>.R和python都得 ...

  7. 关于《Spark快速大数据分析》运行例子遇到的报错及解决

    一.描述 在书中第二章,有一个例子,构建完之后,运行: ${SPARK_HOME}/bin/spark-submit --class com.oreilly.learningsparkexamples ...

  8. 如何在美国公司写project plan 邮件--以hadoop安装和Mahout数据分析为例子

    Hi, XXX (boss name) Project Title:  Hadoop installation and Data analysis based on Mahout Deliverabl ...

  9. R与数据分析旧笔记(二)随机抽样的一个综合例子

    题目:模拟产生统计专业同学的名单(学号区分),记录数学分析.线性代数.概率统计三科成绩,然后进行一些统计分析 > num=seq(10378001,10378100) > num [1] ...

随机推荐

  1. spring-boot-starter-actuator监控接口详解

    spring-boot-starter-actuator 是什么 一句话,actuator是监控系统健康情况的工具. - 怎么用? 1. 添加 POM依赖 <dependency> < ...

  2. asp.net-EF-表间关系

    博客推荐 http://www.cnblogs.com/Gyoung/archive/2013/01/17/2864150.html 先学习下这几个方法 Has方法: HasOptional:前者包含 ...

  3. Linux排序命令sort(转)

    Linux sort命令用于将文本文件内容加以排序.sort可针对文本文件的内容,以行为单位来排序. 语法 sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符&g ...

  4. ssh无法连接到远端Ubuntu的解决方法

    近日,饱受无法远程登录到新安装在VMWare上的Ubuntu虚拟机,现在发现问题所在.故记录此问题的解决方式,以备后用. 一.远程登录虚拟机的准备: Ubuntu虚拟机的联网方式应该选择Bridged ...

  5. udev的使用-minicom没有权限打开串口,更改 ttyUSB0 的权限

    udev的使用-minicom没有权限打开串口,更改 ttyUSB0 的权限 使用minicom打开串口会提示没有权限,必需要用 sudo,怎样更改串口设备的权限能够让普通用户读写呢? 事实上仅仅要更 ...

  6. php 在同一个表单中加入和改动

    大家写站点的时候可能都会遇到这样的情况,就是写一个表单,这个表单是用来加入一篇文章的,我们屁颠屁颠的在后台接收数据,然后存入数据库.如今有个问题.当你要对该文章进行改动的时候,你是怎么处理的? 我的方 ...

  7. Head First 设计模式 —— 装饰器模式

    1. 装饰器模式与继承 与装饰器模式相比,继承更容易造成类爆炸: 装饰器模式:利用组合取代继承:

  8. C++ 指针 引用 变量引用

    变量引用: 引用的作用就是给变量起个别名,假如有一个变量a,想给它起个别名b,         可以这么写:int a;//定义a是整型变量.int &b=a;//声明b是a的引用. 上面就是 ...

  9. 你必须知道的.net导航

    http://www.cnblogs.com/anytao/archive/2007/09/14/must_net_catalog.html

  10. 使用asp.net 开发的一个东平人才网招聘程序

    本人用asp.net 工作已经一两年时间了,在单位一般是做管理系统类的开发,针对的客户大都是政府机关,所以都是内网系统,虽然有成就感,但是无法再互联网上展示.虽然技术一般,但还是希望自己做一个网站在互 ...