包括内容如下图:

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

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. ZJUTACM(hd1259)

    ZJUTACM 点我 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  2. 今年暑假不AC(贪心)

    今年暑假不AC 点我 Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日 ...

  3. java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件

    学习处理事件时,必须很好的掌握事件源,监视器,处理事件的接口    1.事件源        能够产生java认可事件的对象都可称为事件源,也就是说事件源必须是对象    2.监视器        监 ...

  4. python学习day3

    目录: 1.集合set 2.计数器 3.有序字典 4.默认字典 5.可命名元组 6.队列 7.深浅拷贝 8.函数 9.lambda表达式 10.内置函数 一.集合set set是一个无序且不重复的元素 ...

  5. Oracle EBS-SQL (PO-12):检查期间请购单的下达记录数.sql

    SELECT DECODE(PRHA.INTERFACE_SOURCE_CODE,'','手工','MRP','自动') 下达方式, PRHA.CREATION_DATE                ...

  6. TCP连接状态详解及TIME_WAIT过多的解决方法

    上图对排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻地认识,不能只停留在一知半解之中.下面对这张图的11种状态详细解释一下 ...

  7. codec ruby和json格式输出

    zjtest7-frontend:/usr/local/logstash-2.3.4/config# cat geoip.conf input {stdin {} } filter { geoip { ...

  8. Dictionary到List转换中的性能问题 转

    本文来自:http://www.cnblogs.com/353373440qq/p/3488367.html 在应用泛型中,我们经常使用Dictionary,经常会用到Dictionary到List的 ...

  9. jquery知识点积累

    网上资源汇总学习: jquery的选择器是CSS1-3,xpath的结合物.JQuery提取了这二种查询语言最好的部分,创造出了最终的jquery表达式查询语言. xpath是一门在xml文档里查找信 ...

  10. C# 获取类似java gettime() 的时间格式

    今天做了一个面向Java的接口,需要做到时间的统一,C#提供了System.DateTime.UtcNow 但是需要自己做下处理,记录一下自己的方法, 留着以后查阅方便. /// <summar ...