详解Numpy cov()(计算协方差矩阵)函数的作用与使用方法

Numpy cov()是一个用于计算协方差矩阵的函数。协方差矩阵是一个描述随机变量之间关系的矩阵,通常用于统计学和机器学习中的数据分析。

本文将介绍Numpy cov()的作用与使用方法,并提供两个实例详细说明。

作用

将数据集X的协方差矩阵进行计算,然后返回该矩阵。协方差矩阵描述了变量之间的关系、方向和强度。除此之外,协方差矩阵还可用于数据降维、找到数据集的主要统计特征等。

使用方法

numpy.cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None, aweights=None)

参数解释:

  • m:要计算协方差矩阵的数据集。

  • y:第二个数据集,若给定则必须和第一个数据集的数据形状相同。

  • rowva|:如果值为True(默认设置),则表示行是具有不同变量的观测值。 如果值为False,则列是具有不同的变量的观测值

  • bias:如果值为True,则会对计算偏差进行校正。默认为False,不做偏差校正。

  • ddof:自由度校正值,表示数据集样本的数目,即n-1。如果指定,则当基于样本计算协方差矩阵时被用于从除数中减去。

  • fweights:表示观测值的浮点权重。

  • aweights:表示观测值的阵列权重。

返回值:

返回一个数组,表示给定数据集的协方差矩阵。如果输入是二维的,并且rowvar=True(默认),那么返回结果将是形状为(m,m)数组,其中m是输入数据中的唯一元素数量。如果y提供,则返回结果的形状为(m, n),其中ny中的独特元素的数量。

同时需要注意的是,在二维数据中,均值会按行计算并自动减去(仅当rowvar=True时)。

例如:

import numpy as np

# 样本数据,4个4维的样本
X = np.array([
    [1, 5, 3, 4],
    [2, 6, 5, 2],
    [9, 0, 1, 1],
    [4, 5, 6, 7]
])

# 计算协方差矩阵
cov_mat = np.cov(X, rowvar=False)
#cov_mat = np.cov(X.T)

print(cov_mat)

输出:

[[8.5        1.75      -14.        -3.25      ]
 [1.75       1.91666667 -2.25       0.58333333]
 [-14.        -2.25       1.66666667  7.25      ]
 [-3.25       0.58333333  7.25        3.91666667]]

接下来我们举两个实例进行说明:

例1:使用numpy的协方差函数计算两个一维数组的协方差矩阵

import numpy as np

x = [1, 2, 3, 4, 5]
y = [10, 9, 7, 6, 12]

# 计算两个一维数组的协方差矩阵
cov_mat = np.cov(x, y)

print(cov_mat)

输出:

[[ 2.5 -7. ]
 [-7.  16.3]]

输出结果解释:输入的两个数组x和y都只有一个维度。所以,输出的协方差矩阵是2x2的矩阵。矩阵的第一个元素是x的方差( 2.5 ),第二个元素是函数在y和x之间计算的协方差( -7 )。第三个元素是y的方差( 16.3 )。

例2:使用numpy的协方差函数计算二维数据集的协方差矩阵

import numpy as np

# 样本数据,4个4维的样本
X = np.array([
    [1, 5, 3, 4],
    [2, 6, 5, 2],
    [9, 0, 1, 1],
    [4, 5, 6, 7]
])

# 计算协方差矩阵
cov_mat = np.cov(X, rowvar=False)

print(cov_mat)

输出结果:

[[12.66666667 -9.         -4.66666667 -3.66666667]
 [-9.          7.33333333  5.          3.66666667]
 [-4.66666667  5.          4.91666667  4.16666667]
 [-3.66666667  3.66666667  4.16666667  7.        ]]

输出结果解释:这个例子是一个具有4个样本和每个样本的4个维度的二维数据集。

sample1的各个维度的平均值是( 4.0 4.0 3.75 3.5),x的平均值是4.9375, y的平均值是4.8125,z的平均值是4.125,而w的平均值是3.25。根据上面的公式,我们可以计算每个元素的协方差。

注意,函数在计算协方差矩阵时自动减去了均值。最终输出的协方差矩阵大小为4x4。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Numpy cov()(计算协方差矩阵)函数的作用与使用方法 - Python技术站

(0)
上一篇 2023年3月22日
下一篇 2023年3月22日

相关文章

  • 详解Numpy prod()(返回数组元素的乘积)函数的作用与使用方法

    简介 Numpy(NumPy官网)是Python中用于数值计算的重要库之一。其中,Prod()方法用于计算数组元素的乘积。在本文中,我们将深入探讨Numpy Prod()的作用与使用方法,包括其语法、参数、返回值等等。 Prod()语法 Prod()函数的语法如下: numpy.prod(a, axis=None, dtype=None, keepdims=…

    Numpy函数大全 2023年3月22日
    00
  • 详解Numpy concatenate()(沿着指定的轴拼接数组)函数的作用与使用方法

    Numpy的concatenate函数是用于将两个或多个数组沿指定轴连接在一起的函数。它的用法很简单,下面我们来详细讲解其作用和使用方法的完整攻略。 函数语法 numpy.concatenate((a1, a2, …), axis=0) 参数说明 a1, a2, … :参与连接操作的数组。 axis :指定连接的轴,如果不提供该参数,将默认为0,即沿着第…

    Numpy函数大全 2023年3月22日
    00
  • 详解Numpy all()(判断元素是否全部为True)函数的作用与使用方法

    Numpy all()函数是一个逻辑函数,用于对数组中的所有元素进行逻辑判断(是否满足指定条件)。如果数组中所有元素都满足条件,则返回True;否则返回False。 使用方法 numpy.all(a, axis=None, out=None, keepdims=False) 参数介绍: a:要进行操作的数组。 axis:沿着哪个轴操作,默认为None,表示对…

    Numpy函数大全 2023年3月22日
    00
  • 详解Numpy clip()(数组元素裁剪)函数的作用与使用方法

    Numpy clip()函数是一种用于限制数组元素数值范围的函数,可以将数组的元素限定在一定的范围内。常常用于数据处理和数据分析中。 该函数的语法为:numpy.clip(a, a_min, a_max, out=None) 其中,a是待限制元素的数值的数组;a_min是限制最小数值范围的指定值;a_max是限制最大数值范围的指定值;out是可选项,是输出结…

    Numpy函数大全 2023年3月22日
    00
  • 详解Numpy any()(判断元素是否存在)函数的作用与使用方法

    Numpy any()函数的作用是检查数组中是否存在任何一个元素满足给定的条件,如果存在,则返回True,否则返回False。其使用方法如下: numpy.any(a, axis=None, out=None, keepdims=’no value’) 其中,参数a表示待检查的数组,axis表示对数组进行计算的轴,out表示输出结果的数组,keepdims表…

    Numpy函数大全 2023年3月22日
    00
  • 详解Numpy argmax()(返回数组元素的最大值的索引)函数的作用与使用方法

    Numpy argmax()函数用于返回给定数组中的最大值所在的索引位置。 它的语法格式如下: numpy.argmax(arr, axis=None, out=None) 参数说明: arr:传入的待计算数组,必须为一维或多维数组。 axis:可选参数,用于指定在哪个维度上进行计算,其取值范围为0到N-1(N为数组的维度数)。 out:可选参数,用于指定输…

    Numpy函数大全 2023年3月22日
    00
  • 详解Numpy log()(计算自然对数函数)的作用与使用方法

    作用 Numpy中的log()函数用于计算给定数组中所有元素的自然对数。自然对数是以e为底的对数,其中e是自然常数(约等于2.71828)。log()函数的返回值是一个新的数组,其中包含输入数组中每个元素的自然对数。 使用方法 在numpy中使用log()函数的方法如下: import numpy as np arr = np.array([1, 2, 3,…

    Numpy函数大全 2023年3月22日
    00
  • 详解Numpy fill()(用指定值填充数组)函数的作用与使用方法

    Numpy fill()函数的作用是用指定的值填充数组或矩阵。 使用方法如下: numpy.fill(arr, value, start=None, end=None) 其中,arr是需要被填充的数组或矩阵,value是填充的值,start和end是填充范围的起始和结束位置,可选参数。 如果start和end都不指定,则将整个数组或矩阵都填充为value的值…

    Numpy函数大全 2023年3月22日
    00
合作推广
合作推广
分享本页
返回顶部