包括内容如下图:

使用直接估计法,置信区间置信率的估计:

1.使用二项分布直接估计

$p(0.04<\hat{p}<0.06) = \sum_{0.04n\leq k \leq 0.06n}{n \choose k}0.05^{k}0.95^{n-k}$

  1. low=ceil(n*0.04);%上取整
  2. high=floor(n*0.06);%下取整
  3. prob = 0;
  4. for i=low:1:high
  5. prob = prob+nchoosek(n,i)*(0.05^i)*(0.95^(n-i));
  6. end

2.使用正态分布近似

$\mu = p = 0.05,\sigma^2 = \frac{p(1-p)}{n} = \frac{0.05*0.95}{n}$

  1. normcdf(0.06,0.05,sigma/x(i)^0.5) - normcdf(0.04,0.05,sigma/x(i)^0.5)
  1. warning off all;
  2. clear all;clc;close all;
  3. x=500:1:1500;
  4. y = zeros(1,size(x,2));
  5. y2 = zeros(1,size(x,2));
  6. sigma = sqrt(0.05*0.95);
  7. for i =1:size(x,2)
  8. y(i) = adPredict(x(i));
  9. y2(i) = normcdf(0.06,0.05,sigma/x(i)^0.5) - normcdf(0.04,0.05,sigma/x(i)^0.5);
  10. end
  11.  
  12. plot(x,y,'b-'); hold on;
  13. plot(x,y2,'r-');
  14. hold on;
  15. x1=[500 1500];
  16. y1=[0.85 0.85];
  17. plot(x1,y1,'y-');

打印曲线:观测到,n=1000,差不多置信度会到达0.85

AUC概念及计算:

sklearn代码:sklearn中有现成方法,计算一组TPR,FPR,然后plot就可以;AUC也可以直接调用方法。

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. from sklearn.linear_model import LogisticRegression
  5. from sklearn import datasets
  6. from sklearn.preprocessing import StandardScaler
  7. from sklearn.metrics import roc_auc_score
  8. from sklearn.metrics import roc_curve
  9.  
  10. digits = datasets.load_digits()
  11.  
  12. X, y = digits.data, digits.target
  13. X = StandardScaler().fit_transform(X)
  14.  
  15. # classify small against large digits
  16. y = (y > 4).astype(np.int)
  17. X_train = X[:-400]
  18. y_train = y[:-400]
  19.  
  20. X_test = X[-400:]
  21. y_test = y[-400:]
  22.  
  23. lrg = LogisticRegression(penalty='l1')
  24. lrg.fit(X_train, y_train)
  25.  
  26. y_test_prob=lrg.predict_proba(X_test)
  27. P = np.where(y_test==1)[0].shape[0];
  28. N = np.where(y_test==0)[0].shape[0];
  29.  
  30. dt = 10001
  31. TPR = np.zeros((dt,1))
  32. FPR = np.zeros((dt,1))
  33. for i in range(dt):
  34. y_test_p = y_test_prob[:,1]>=i*(1.0/(dt-1))
  35. TP = np.where((y_test==1)&(y_test_p==True))[0].shape[0];
  36. FN = P-TP;
  37. FP = np.where((y_test==0)&(y_test_p==True))[0].shape[0];
  38. TN = N - FP;
  39. TPR[i]=TP*1.0/P
  40. FPR[i]=FP*1.0/N
  41.  
  42. plt.plot(FPR,TPR,color='black')
  43. plt.plot(np.array([[0],[1]]),np.array([[0],[1]]),color='red')
  44. plt.show()
  45.  
  46. #use sklearn method
  47. # fpr, tpr, thresholds = roc_curve(y_test,y_test_prob[:,1],pos_label=1)
  48. # plt.plot(fpr,tpr,color='black')
  49. # plt.plot(np.array([[0],[1]]),np.array([[0],[1]]),color='red')
  50. # plt.show()
  51.  
  52. rank = y_test_prob[:,1].argsort()
  53. rank = rank.argsort()+1
  54. auc = (sum(rank[np.where(y_test==1)[0]])-(P*1.0*(P+1)/2))/(P*N);
  55. print auc
  56. print roc_auc_score(y_test, y_test_prob[:,1])

click through rate prediction的更多相关文章

  1. 微软的一篇ctr预估的论文:Web-Scale Bayesian Click-Through Rate Prediction for Sponsored Search Advertising in Microsoft’s Bing Search Engine。

    周末看了一下这篇论文,觉得挺难的,后来想想是ICML的论文,也就明白为什么了. 先简单记录下来,以后会继续添加内容. 主要参考了论文Web-Scale Bayesian Click-Through R ...

  2. 【论文笔记】用反事实推断方法缓解标题党内容对推荐系统的影响 Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue

    Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue Authors: 王文杰,冯福利 ...

  3. 【点击模型学习笔记】Predicting Clicks_Estimating the Click-Through Rate for New Ads_MS_www2007

    概要: 微软研究院的人写的文章,提出用逻辑回归来解决ctr预估问题,是以后ctr的经典解决方式,经典文章. 详细内容: 名词: CPC -- cost per click CTR -- click t ...

  4. python命令行神器Click

    原文: http://www.lengirl.com/code/python-click.html Click 是用Python写的一个第三方模块,用于快速创建命令行.我们知道,Python内置了一个 ...

  5. Bayesian CTR Prediction for Bing

    Microsoft published a paper in ICML 2009 named ‘Web-Scale Bayesian Click-Through Rate Prediction for ...

  6. 【python】命令行神器 Click 简明笔记

    全文拷贝自 命令行神器 Click 简明笔记 Click Click 是用 Python 写的一个第三方模块,用于快速创建命令行.我们知道,Python 内置了一个 Argparse 的标准库用于创建 ...

  7. 命令行神器 Click 简明笔记

    Click 是用 Python 写的一个第三方模块,用于快速创建命令行.我们知道,Python 内置了一个 Argparse 的标准库用于创建命令行,但使用起来有些繁琐,Click 相比于 Argpa ...

  8. Andrew 机器学习课程笔记

    Andrew 机器学习课程笔记 完成 Andrew 的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用.在我看来这是个很好的入门视频,他老人家现在又出了一门 deep l ...

  9. 主流CTR预估模型的演化及对比

    https://zhuanlan.zhihu.com/p/35465875 学习和预测用户的反馈对于个性化推荐.信息检索和在线广告等领域都有着极其重要的作用.在这些领域,用户的反馈行为包括点击.收藏. ...

随机推荐

  1. JAVA笔记1-00

    package chapter1; public class Demo1 { public static void main(String[] args) { System.out.println(& ...

  2. NFC扫描

    目录(?)[-] 简介 什么是NFC 标签和读取器 标签 读取器 NFC模式 通信模式 主动模式 被动模式 操作模式 读写 点对点 模拟卡片 NFC用例 用于启动服务 用于分享 用于连接设备 用于买票 ...

  3. QT GUI(主)线程与子线程之间的通信——使用跨线程的信号槽

    在主线程上,可以控制子线程启动,停止,清零 如果子线程启动的话,每一秒钟会向主线程发送一个数字,让主线程更新界面上的数字. 程序截图: 上代码: #include <QtGui> #inc ...

  4. UITableView 或 UIScrollView 点击状态栏列表回到顶部

    整理来自互联网- 这是tableView继承的scrollView的一个属性 scrollsToTop. 官方说明是这样的: // When the user taps the status bar, ...

  5. Redis 实践笔记

    本文来自:http://www.cnblogs.com/me-sa/archive/2012/03/13/redis-in-action.html 最近在项目中实践了一下Redis,过程中遇到并解决了 ...

  6. ToString()使用方法

    1.数字转换到字符串格式说明符说明示例输出C货币2.5.ToString("C")¥2.50D十进制数25.ToString("D5")00025E科学型250 ...

  7. 【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类

    续[Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之三]动手绑定自己定义类至Lua 之后.我们已经完毕了自己定义类至Lua的绑定.在接下来的环节,我们将使用它. 首先,我们须要确定 ...

  8. android _scrollview嵌套listview出现高度显示不全解决方案

    只要在工具类里写上这一段代码:/** * scrollview嵌套listview显示不全解决 * @param listView */ public static void setListViewH ...

  9. 【MFC学习笔记-作业9-基于单击响应的计算平均成绩】【】

    要求..单击出现 一个输入成绩的框,点确定后,计算平均成绩 意义很大~ 完成对话框   再写个鼠标点击的响应部分 鼠标点击的响应部分为难点.... void CWj1401_0302140107_9V ...

  10. HTML 4.01 符号实体

    HTML 4.01 符号实体 http://www.w3school.com.cn/tags/html_ref_symbols.html