皮尔森相关系数及python计算代码

    xiaoxiao2021-03-25  130

    在社交网络中,如果对用户进行聚类,一般有两种距离计算方法:节点之间的图举例和节点的相似度计算。其中,节点的相似度计算可以采用皮尔森相关系数

    给定连个连续变量X和Y,皮尔森相关系数被定义为等于两个变量的协方差除于两个变量的标准差

    系数的取值总是在-1.0到1.0之间,接近0的变量被成为无相关性,接近1或者-1被称为具有强相关性。

    皮尔森相关系数是衡量线性关联性的程度,p的一个几何解释是其代表两个变量的取值根据均值集中后构成的向量之间夹角的余弦。

    def pearson_distance(vector1, vector2) : """ Calculate distance between two vectors using pearson method See more : http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient """ sum1 = sum(vector1) sum2 = sum(vector2) sum1Sq = sum([pow(v,2) for v in vector1]) sum2Sq = sum([pow(v,2) for v in vector2]) pSum = sum([vector1[i] * vector2[i] for i in range(len(vector1))]) num = pSum - (sum1*sum2/len(vector1)) den = sqrt((sum1Sq - pow(sum1,2)/len(vector1)) * (sum2Sq - pow(sum2,2)/len(vector1))) if den == 0 : return 0.0 return 1.0 - num/den

    转载请注明原文地址: https://ju.6miu.com/read-19966.html

    最新回复(0)