皮尔逊相关度评价-寻找用户相似度
1:python的数据字典格式在《集体智慧》中的,
prefs={'a':{'harrybotter':2.5,'superman':2.0}}等这样的字典格式
2:数学公式:
皮尔逊积差系数
参见皮尔森积差相关系数。
[编辑]数学特征
因为,
,同样地,对于
,可以写成
当两个变量的标准差都不为零,相关系数才有定义。从柯西-施瓦茨不等式可知,相关系数的绝对值不超过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