Python 实现实现Numpy找到最大值的位置(PCA的实现)

本文介绍了如何使用Python的np.sort()和np.max()函数找到矩阵中最大值的位置,这对于PCA算法的实现至关重要。在PCA中,通过特征值分解寻找最大特征值及其对应的特征向量,从而实现数据的降维。文章还简述了特征值和特征向量的概念,以及矩阵的特征值分解原理。
摘要由CSDN通过智能技术生成

np.sort()函数的作用,从小到大排序。(这里我也需要注意axis)
不写的话他的默认值为1.
使用x == np.max(x) 获得一个掩模矩阵,然后使用where方法即可返回最大值对应位置。
在这里插入图片描述
编程PCA算法的时候

x=np.array([[-1,-1,0,2,0],
            [-2,0,0,1,1]])
yuan=x
x=0.2*np.dot(x,x.T)
e,v=np.linalg.eig(x)
print(v)
re=np.where(e==np.max(e))
v=v.T[re]
print(re)
print(v)
x=np.dot(v,yuan)
# v=v[:,1]
# x=np.dot(v,yuan)
# print(x)

我一开始用的是下面三行代码计算降维之后的数组,但是我是直接看的结果比较的特征值的最大值,用

re=np.where(e==np.max(e))

获得特征值的最大位置
之后运用numpy的切片操作得到应有的特征向量
特征值分解矩阵原理
(1) 特征值与特征向量
如果一个向量v是矩阵A的特征向量,将一定可以表示成下面的形式:
A ν

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值