import numpy as np
x = np.array([2,4,5,3,6,9,40,25,32])
print(np.cov(x)*8)
print(np.var(x)*9)
y = np.array([[1,5,6],[4,3,9],[4,2,9],[4,7,2]])
print(y.shape)
print(np.cov(y,rowvar=False))
#其中rowvar是布尔类型。默认为true是将行作为独立的变量、如果是flase的话,则将列作为独立的变量。
#4行3列的数据。cov默认行是变量。实际应用中需要设置rowvar=False才能以列为变量计算
以下使用鸢尾花数据集计算数据的协方差矩阵,由于数据包含4个特征,因此这个协方差矩阵一定是一个4*4的矩阵。是代码
import numpy as np
from sklearn import datasets
iris = datasets.load_iris()
print(iris.data.shape)
print(np.cov(iris.data,rowvar=False))
输出结果是:
[[ 0.68569351 -0.042434 1.27431544 0.51627069]
[-0.042434 0.18997942 -0.32965638 -0.12163937]
[ 1.27431544 -0.32965638 3.11627785 1.2956094 ]
[ 0.51627069 -0.12163937 1.2956094 0.58100626]]