NumPy相关函数
本教程演示了Python中NumPy库的相关函数np.corrcoef()
函数。
NumPy中的相关关系
相关系数是一个编号的数值,表示数据集中给定特征之间的关系。
相关性可以是正的,意味着它们有直接的关系,一个特征的增加会导致另一个特征的增加。负相关也是可能的,表明两个特征之间有反向关系,意味着一个特征的上升会导致另一个特征的下降。
以下是一些不同的相关关系。
- 皮尔逊相关
- Kendall’s 相关性
- 斯皮尔曼相关
然而,NumPy库函数np.corrcoef()
只关注并计算皮尔逊相关值。其他的相关关系可以使用SciPy库提供的直接函数来找到。
本教程只关注np.coefcorr()
函数和它的实现。
使用np.corrcoef()
函数在 Python 中实现相关关系
来自NumPy
库的np.corrcoef()
函数被用来获取任意两个数组之间的皮尔逊相关系数矩阵,前提是这两个数组的形状相同。这个函数通常返回一个二维数组,其中描述了相关系数。
在Python代码中导入NumPy库来实现这个函数,不会遇到任何错误。
示例代码:
import numpy as np
a=np.arange(20,30)
b=np.array([8,12,29,33,60,48,21,44,78,96])
x=np.corrcoef(a,b)
print(x)
输出:
[[1. 0.82449488]
[0.82449488 1. ]]
输出矩阵的主对角线总是所有的值都是一。在我们的例子中,左上角的元素的值是1,因为它返回x与x的相关系数,右下角的元素返回y与y的相关系数。
需要从给定的输出矩阵中考虑的主要数值是其他两个数值。对于我们的情况来说,这个值得出的是近似的0.82
。此外,这两个元素总是持有相同的值。
用Matplotlib库制作相关图的相关性
NumPy库也可以和Matplotlib库一起使用,使用户可以将相关图作为输出。下面的代码使用相关函数corrcoef()
和Matplotlib库来制作相关图。
示例代码:
import numpy as np
x=np.arange(20,30)
y=np.array([8,12,29,33,60,48,21,44,78,96])
print(np.corrcoef(x,y))
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline
matplotlib.style.use('ggplot')
plt.scatter(x, y)
plt.show()
输出:
上面的图决定了一个正相关,因为该图似乎有一个普遍的上升轨迹。这种类型的图形对于给定数组中更多的元素数量来说效果更好。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。