欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据挖掘利用python的numpy库计算矩阵均值,协方差矩阵,特征值,特征值向量,进行主成分分析。

程序员文章站 2024-03-07 17:46:45
...

我这里是一个三个特征的作业:
数据挖掘利用python的numpy库计算矩阵均值,协方差矩阵,特征值,特征值向量,进行主成分分析。
我们首先输入矩阵:(在这之前记得导入numpy库哈)

X = np.array([[149.5,162.5,162.7,162.2,156.5,156.1,172,173.2,159.5,157.7],[69.5,77,78.5,87.5,74.5,74.5,76.5,81.5,74.5,79],[38.5,55.5,50.8,65.5,49,45.5,51,59.5,43.5,53.5]])

计算均值:

 np.mean(X)//所有元素求和,除以总个数
 np.mean(X,axis=0)//计算行的均值
 np.mean(X,axis=1)//计算列的均值

计算协方差矩阵

 cov = np.cov(X)
 x = cov*9/10

注意!!!这里有一步是乘以9除以10。
为什么这样做呢?
我们看一下数据挖掘主成分分析对协方差矩阵的定义:
数据挖掘利用python的numpy库计算矩阵均值,协方差矩阵,特征值,特征值向量,进行主成分分析。
是以n-1为分母的,但是我们实际计算时(如概率论)协方差矩阵是以n为分母的。我们这里*9/10就是为了把n-1换成n。
协方差矩阵的特征值,特征向量:

a,b = np.linalg.eig(x)//a为特征值,b为特征向量

然后计算出结果如下:数据挖掘利用python的numpy库计算矩阵均值,协方差矩阵,特征值,特征值向量,进行主成分分析。

上一篇: Eigen求特征值与特征向量

下一篇: