摘要: 一切规律都存储在关系中,就看你能不能找得到他了,这也是数据挖掘的魅力。错综复杂的数据之中,能不能找到一个稳定存在的缝隙,让你切入,找到那个隐藏在背后的规律,这个规律在应用中能展示自己的价值与威力。如果有两类对象A和B,关系是$R\subset A \times B$。如果A和B都是数量,且关系比较接近线性,可以考虑相关系数。如果A和B都是数量,但关系非线性很强,甚至不单调,可以考虑离散相关系数。如果A和B其中一个是数量,一个是离散量,那么可以考虑条件分布/统计值。如果A和B都是离散量,可以考虑A和B构成一个二部图,在图上找规律。还可以将A看作节点,B看作超图的边。超图:http://en.wi 阅读全文
posted @ 2013-11-20 20:31 潘多拉盒子 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 如果有两类随机变量X和Y,由某个联合分布中可以采样(X,Y)。根据采样可以估算互信息H(Y|X),相信很多人都会。但是,这样的户信息是否有意义呢?现在来看,至少存在两个问题:1. 计算户信息需要得到联合分布或条件分布,而用样本来估计分布会有天然的误差;2. X或Y可能不是合适的状态的定义。第1条比较简单,已经有若干方法可以解决,如加入先验Beta分布。第2条是什么意思呢?比如某个用户u访问了一个页面p,我们可以用这个页面的ID来代表这个页面,用用户的cookie来代表用户,进而计算互信息(不限于互信息,还可以是其它反映u和p之间的correlation的量)。在这种情况下,我们可以通过U和P的 阅读全文
posted @ 2013-11-12 13:18 潘多拉盒子 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 现实中常常需要挖掘两种因素之间的关联,Welch's t检验很适合其中的nomial-numerical的关系挖掘。比如天气状况对销量的影响,或者天气情况对交通流量的影响等等。我们可以按照下雨/不下雨将样本总体划分为两个样本,然后对比这两个样本的情况下numerical型变量的均值差异的显著性。下面以天气情况对销量的影响为例,使用Welch's t检验来分析。假定样本$S_i=\{X_t|W_t=w_i\}; i=1,2; w_1=下雨, w_2=不下雨$,计算这两个样本的统计$t$变量和自由度变量$\nu$如下:$t=\frac{\bar{X_1}-\bar{X_2}}{\s 阅读全文
posted @ 2013-08-28 14:06 潘多拉盒子 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: (转载请注明原创于潘多拉盒子)如果我们获得了一组变量的顺序,如何估计这组变量的值呢?本文提供了一种简单的方法。假定$n$个随机变量$\{X_k \sim U(0, 1)\}_{k=1}^{n}$是$(0,1)$上的均匀分布,且两两独立。对这$n$个随机变量从小到大排列,得到$\{X_{\pi(k)}\}_{k=1}^{n}$且$X_{\pi(1)}<X_{\pi(2)}<\cdots<X_{\pi(n)}$,这里忽略了任意两项相等时0测度的情形。容易看出,$X_{\pi(k)}$服从Beta分布:$X_{\pi(k)}\sim Beta(k, n-k+1)$。我们有理由相信, 阅读全文
posted @ 2013-08-20 15:37 潘多拉盒子 阅读(559) 评论(0) 推荐(0) 编辑
摘要: (转载请注明原创于潘多拉盒子)算法效果的AB测试,是指在相同的应用场景下,对比不同算法的效果。通常的做法是,按照PV或UV随机分配流量到算法上,计算算法的CTR或转化率进行对比。为了表述简单,我们假设参与对比的算法有两个,比较的指标是CTR。这里面的关键细节有两个:1. 如何划分浏览?2. 如何计算CTR。下面从这两个角度讨论可能出现的问题。定义1:按PV划分流量,是指对任意一个访问,按照预先设定的比例,随机分配到一个算法中。需要注意的是,在这种情况下,每个用户会被随机分配到一个算法中。定义2:按UV划分流量,是指对任意一个访问,按照预先设定的比例,对用户ID进行哈希和取模等操作,将流量划分到 阅读全文
posted @ 2013-08-15 12:02 潘多拉盒子 阅读(3817) 评论(0) 推荐(0) 编辑
摘要: 假定用户使用某种产品符合以下的马尔可夫过程:改过程的状态为0和1,其中$s=0$表示用户不再使用该产品,$s=1$表示用户使用该产品。那么该马尔可夫过程的转移矩阵是$M=\begin{bmatrix}1 & 0 \\1-p & p \\\end{bmatrix}$。假定初始状态是$s_1=1$,并且假定用户的使用次数(随机变量)为$X$,那么$Pr(X \ge k)=p^{k-1}$。定义已经使用$k \ge 1$次该产品的用户的忠诚度为$S(k)=\frac{Pr(X \ge k+1)}{Pr(X \ge k)}$,表示已经使用了$k$次该产品的用户,会继续使用该产品的可能性 阅读全文
posted @ 2013-07-24 12:58 潘多拉盒子 阅读(459) 评论(0) 推荐(0) 编辑
摘要: 三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机会率?百度知道给出的答案是正确的:换门,赢的概率是2/3 阅读全文
posted @ 2013-07-19 21:41 潘多拉盒子 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 有一个16x16的正方形地面,去除主对角线上两个顶点的各1x1的地面之外,能否用127块1x2的砖完整地铺下来,而不会打破任何一块砖。首先,这块地面一共有256平方,扣除对角线顶点上的两个平方,一共254平方,面积等于127块1x2的砖的面积总和,理论上如果砖可以切割成1x1的小块,就一定可以铺满地面。但是,如果不切开任何一块砖,是否可以呢?答案是不行。这里,我们需要构造某种由部分的某种特征构成的不变量,从而构造矛盾。那么这个不变量是什么呢?先做一些观察。首先,这块地面如果能用1x2的砖铺满,那么就一定可以将这个地面划分成256个1x1的小格,而每块砖恰好占有两个小格。其次,可以看每一行和每一 阅读全文
posted @ 2013-07-19 21:40 潘多拉盒子 阅读(275) 评论(0) 推荐(0) 编辑
摘要: (转载请注明原创于潘多拉盒子)先来看一段程序:funs = [lambda x: x**k for k in range(0, 4)]res = [f(2) for f in funs]print res结果是什么呢?结果是这样的:[8, 8, 8, 8],如果不感到意外,说明你已经理解了python,或者没看懂:)如果意外,请看下面的分析:实际上,[lambda x: x**k for k in range(0, 4)],创建了4个lambda表达式,每个表达式都是lambda x: x**k,而k最终是等于3。于是4个lambda表达式都是lambda x: x**3 !怎样才能根据不同的 阅读全文
posted @ 2011-04-02 14:25 潘多拉盒子 阅读(359) 评论(0) 推荐(1) 编辑
摘要: 有对象要持久化,就离不开序列化和反序列化。对象是立体的,而存储却是线性的,因此叫序列化。比如我们构造一个python对象:d = {'coffee': 1, 'tea': 2, 'water': 3}这是一个字典。进行序列化的操作:f = open('favorite.dict', 'wb')import picklepickle.dump(d, f)f.close()进行反序列化操作:f = open('favorite.dict', 'rb')d = pickle.load(f) 阅读全文
posted @ 2011-04-02 14:24 潘多拉盒子 阅读(223) 评论(1) 推荐(0) 编辑