距离相关系数 以及python包的安装

距离相关系数:研究两个变量之间的独立性,距离相关系数为0表示两个变量是独立的。克服了皮尔逊相关系数(Pearson)的弱点。pearson相关系数为0并不一定表示两个变量之间是独立的,也有可能是非线性相关的。

                                               距离相关系数 以及python包的安装_第1张图片

python实现:

1.安装dcor包

pip install dcor

安装的时候可能会遇到 报错:ERROR: Cannot uninstall 'llvmlite'. It is a distutils installed project.

解决方法参考:https://blog.csdn.net/weixin_43535207/article/details/104385743

2.使用方法:

import numpy as np
a1=np.array([11,2,56,34])
b1=np.array([45,15,26,24])
dcor.distance_correlation(a1,b1)

out:  0.6673874262718296

 这里计算的变量得是array形式,需要使用shape。如果是list则可以转换成array形式进行计算:

import numpy as np
a=[11,2,56,34]
b=[45,15,26,24]
a1=np.array(a)
b1=np.array(b)
dcor.distance_correlation(a1,b1)

 

网上关于dcor包的资料并不多,在网上查找了很多资料才终于把距离相关系数实现出来,关于dcor包更多详细的介绍访问:https://dcor.readthedocs.io/en/latest/modules/dcor._dcor.html#b-distance-correlation

在网上有一个自定义距离相关系数函数的代码:https://gist.github.com/satra/aa3d19a12b74e9ab7941

其中numbapro没有这个包,把numbapro改为numba就好了。

from numba import jit, float32

如果有其他需要补充的和写得不足的地方欢迎各位补充!

 

你可能感兴趣的:(python,距离相关系数,特征选择)