python 计算两个列表的相关系数
原创
文章标签 python 相关性计算 第三方库 方差 协方差 文章分类 Python 后端开发
©著作权归作者所有:来自51CTO博客作者CorwinPC的原创作品,请联系作者获取转载授权,否则将追究法律责任
目录
1、方法①:调用第三方库实现
from pandas import Seriesdef calc_corr1(a, b): s1 = Series(a) s2 = Series(b) return s1.corr(s2)
2、方法②:编写函数计算实现
def calc_corr2(a, b): a_avg = sum(a) / len(a) b_avg = sum(b) / len(b) # 计算分子,协方差————按照协方差公式,本来要除以n的,由于在相关系数中上下同时约去了n,于是可以不除以n cov_ab = sum([(x - a_avg) * (y - b_avg) for x, y in zip(a, b)]) # 计算分母,方差乘积————方差本来也要除以n,在相关系数中上下同时约去了n,于是可以不除以n sq = (sum([(x - a_avg) ** 2 for x in a]) * sum([(x - b_avg) ** 2 for x in b])) ** 0.5 corr_factor = cov_ab / sq return corr_factor
3、测试样例结果输出
if __name__ == '__main__': m1 = [254, 0, 1032, 633, 140, 136, 4, 3, 4266, 5639, 4354, 3093] m2 = [10798, 0, 3233, 1739, 300, 113, 114, 159, 975, 2257, 16376, 8581] print(calc_corr1(m1, m2)) # 0.40126106164889785 print(calc_corr2(m1, m2)) # 0.40126106164889797
- 赞
- 收藏
- 评论
- *举报
Original: https://blog.51cto.com/YangPC/5483153
Author: CorwinPC
Title: python 计算两个列表的相关系数
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/513515/
转载文章受原作者版权保护。转载请注明原作者出处!