美文网首页
皮尔森(pearson)相关系数

皮尔森(pearson)相关系数

作者: 你说你要一场 | 来源:发表于2019-05-23 17:38 被阅读0次
screenshot_7.png

计算函数为:

def pearson(vector1, vector2):
    n = len(vector1)
    #simple sums
    sum1 = sum(float(vector1[i]) for i in range(n))
    sum2 = sum(float(vector2[i]) for i in range(n))
    #sum up the squares
    sum1_pow = sum([pow(v, 2.0) for v in vector1])
    sum2_pow = sum([pow(v, 2.0) for v in vector2])
    #sum up the products
    p_sum = sum([vector1[i]*vector2[i] for i in range(n)])
    #分子num,分母den
    num = p_sum - (sum1*sum2/n)
    den = math.sqrt((sum1_pow-pow(sum1, 2)/n)*(sum2_pow-pow(sum2, 2)/n))
    if den == 0:
        return 0.0
    return num/den

测试中运行的结果和余弦相似度差不多。

相关文章

网友评论

      本文标题:皮尔森(pearson)相关系数

      本文链接:https://www.haomeiwen.com/subject/nfmbzqtx.html