0, 0]])
#转化为我们想要的A,将特征定为 axis=0
A = A.T
A
array([[2, 1, 0],
[4, 3, 0]])
调用 Numpy中的奇异值分解API:
#奇异值分解...在昨天,我们介绍过:在很多情况下,前10%,甚至有的1%的奇异值的和就占了全部的奇异值之和的99%,这是什么意思呢,这就表示原矩阵可以被压缩为一个很小的矩阵,并且还能保证其主要成分信息不会丢失。...也就是说,我们也可以用最大的 k 个的奇异值和对应的左右奇异向量来近似描述原始矩阵数据,如下图表达的含义:
?...接下来,我们实际演练下这个过程,利用 numpy库随机生成一个5*9的二维数组(也可以称为矩阵吧)A:
array([[6, 4, 9, 4, 2, 7, 6, 2, 6],
[6, 3,...借助numpy的API,我们发现取取3个奇异值,就已经表达了84%的奇异值的和,所以取前3个奇异值,因此,求出 U * Singular等于如下:(取小数点后1位显示)
array([[-15.3,