皮尔逊相关度评价-寻找用户相似度

1:python的数据字典格式在《集体智慧》中的,

 

prefs={'a':{'harrybotter':2.5,'superman':2.0}}等这样的字典格式

 2:数学公式:

 

http://zh.wikipedia.org/zh-cn/%E7%9B%B8%E5%85%B3#.E7.9A.AE.E5.B0.94.E9.80.8A.E7.A7.AF.E5.B7.AE.E7.B3.BB.E6.95.B0

 

 

皮尔逊积差系数

参见皮尔森积差相关系数

[编辑]数学特征

\rho_{X,Y}={\mathrm{cov}(X,Y) \over \sigma_X \sigma_Y} ={E((X-\mu_X)(Y-\mu_Y)) \over \sigma_X\sigma_Y},

其中,E数学期望,cov表示协方差\sigma_X和 \sigma_Y标准差

因为\mu_X = E(X)\sigma_X^2 = E(X^2) - E^2(X),同样地,对于Y,可以写成

\rho_{X,Y}=\frac{E(XY)-E(X)E(Y)}{\sqrt{E(X^2)-E^2(X)}~\sqrt{E(Y^2)-E^2(Y)}}.

当两个变量的标准差都不为零,相关系数才有定义。从柯西-施瓦茨不等式可知,相关系数的绝对值不超过1。当两个变量的线性关系增强时,相关系数趋于1或-1。当一个变量增加而另一变量也增加时,相关系数大于0。当一个变量的增加而另一变量减少时,相关系数小于0。当两个变量独立时,相关系数为0.但反之并不成立。 这是因为相关系数仅仅反映了两个变量之间是否线性相关。比如说,X是区间[-1,1]上的一个均匀分布的随机变量。Y = X2. 那么Y是完全由X确定。因此Y 和X是不独立的。但是相关系数为0。或者说他们是不相关的。当Y 和X服从联合正态分布时,其相互独立和不相关是等价的。

当一个或两个变量带有测量误差时,他们的相关性就受到削弱,这时,“反衰减”性(disattenuation)是一个更准确的系数。

3:python的实现:


分子=E(XY)-E(X)E(Y)=pSum/n-(sum1*sum2)/n*n

分母= sqrt((sum1Sq/n-pow(sum1,2)/n*n)*(sum2sq/n-pow(sum2,2)/n*n))

r=分子/分母=上面的num/den

 

总结:

皮尔逊相关是对用户对相同的物品的喜欢程度,必需求出用户的共同物品,已经分别的和,按照公式就可以算出r
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值