Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >numpy求特征向量_python计算矩阵

numpy求特征向量_python计算矩阵

作者头像
全栈程序员站长
发布于 2022-11-01 06:40:40
发布于 2022-11-01 06:40:40
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

文章目录

python — numpy计算矩阵特征值,特征向量

一、数学演算

  • 示例: 首先参考百度demo的来看一下矩阵的特征值和特征向量的解题过程及结果。

可知矩阵A:特征值为1对应的特征向量为 [ -1,-2,1]T。特征值为2对应的特征向量为 [ 0,0,1]T 我们可以进一步对特征向量进行单位化,单位化之后的结果如下:

  • 特征值为1对应的特征向量为 [ 1/√6, 2/√6, -1/√6]T,即 [ 0.40824829, 0.81649658, -0.40824829]T。
  • 特征值为2对应的特征向量为 [ 0,0,1]T A = [ − 1 1 0 − 4 3 0 1 0 2 ] A= \left[ \begin{matrix} -1 & 1 & 0 \\ -4 & 3 & 0 \\ 1 & 0 & 2 \end{matrix} \right] A=⎣⎡​−1−41​130​002​⎦⎤​

二、numpy实现

完整代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/usr/bin/env python
# encoding: utf-8
''' @Author : pentiumCM @Email : 842679178@qq.com @Software: PyCharm @File : __init__.py.py @Time : 2020/4/11 9:39 @desc : numpy计算矩阵的特征值,特征向量 '''

import numpy as np

mat = np.array([[-1, 1, 0],
              [-4, 3, 0],
              [1, 0, 2]])

eigenvalue, featurevector = np.linalg.eig(mat)

print("特征值:", eigenvalue)
print("特征向量:", featurevector)

运行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
特征值: [2. 1. 1.]
特征向量: [[ 0.          0.40824829  0.40824829]
 [ 0.          0.81649658  0.81649658]
 [ 1.         -0.40824829 -0.40824829]]

结果解释:

返回的特征值:[2. 1. 1.],表示有三个特征值,分别为:2, 1, 1

返回的特征向量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[[ 0.          0.40824829  0.40824829]
[ 0.           0.81649658  0.81649658]
[ 1.         -0.40824829 -0.40824829]]

是需要 按 列 来 看 的 \color{red}按列来看的 按列来看的,并且返回的特征向量是单位化之后的特征向量, 如第一列 [ 0,0,1]T 是对应于特征值为2的特征向量, 第二列[ 0.40824829, 0.81649658, -0.40824829]T是对应于特征值为1的特征向量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/204266.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何计算特征向量?
在Python中,特征向量是线性代数中的一个概念,它指的是一个方阵(即行数和列数相等的矩阵)乘以一个向量后,得到的新向量和原向量是共线的,即新向量是原向量的某个标量倍。这个标量被称为特征值,而对应的原向量就是该特征值的一个特征向量。
七条猫
2024/09/18
3370
python练习 numpy操作
a=[1,2,3,4] a1=np.array([1,2,3,4]) print(a) print(a1) [1, 2, 3, 4] [1 2 3 4] 可以看到numpy的数据更加紧凑  python定义的列表没有reshape 所以只能对numpy数组执行该操作 a1=np.array([1,2,3,4,5,6,7,8,9]) a1=a1.reshape(3,3) print(a1) [[1 2 3] [4 5 6] [7 8 9]] np.zeros((4,3)) array([[0., 0
NO23412号菜狗
2019/10/26
4600
Python使用numpy计算矩阵特征值、特征向量与逆矩阵
Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv()函数用来计算可逆矩阵的逆矩阵。 >>> import numpy as np >>> x = np.matrix([[1,2,3], [4,5,6], [7,8,9]]) # 计算矩阵特征值与特征向量 >>> e, v = np.linalg.eig(x) # 根据特征值和特征向量得到原矩阵 >>> y = v * np.diag(e) * np.linalg.inv(v) >
Python小屋屋主
2018/04/16
10.3K0
特征值和特征向量及其计算
在第2章中,我们已经反复强化了一个观念——矩阵就是映射,如果用矩阵乘以一个向量,比如:
老齐
2021/07/28
1.9K0
机器学习基础与实践(三)----数据降维之PCA
写在前面:本来这篇应该是上周四更新,但是上周四写了一篇深度学习的反向传播法的过程,就推迟更新了。本来想参考PRML来写,但是发现里面涉及到比较多的数学知识,写出来可能不好理解,我决定还是用最通俗的方法解释PCA,并举一个实例一步步计算,然后再进行数学推导,最后再介绍一些变种以及相应的程序。(数学推导及变种下次再写好了) 正文:   在数据处理中,经常会遇到特征维度比样本数量多得多的情况,如果拿到实际工程中去跑,效果不一定好。一是因为冗余的特征会带来一些噪音,影响计算的结果;二是因为无关的特征会加大计算量,耗
Charlotte77
2018/01/09
9460
机器学习基础与实践(三)----数据降维之PCA
线性代数精华——矩阵的特征值与特征向量
今天和大家聊一个非常重要,在机器学习领域也广泛使用的一个概念——矩阵的特征值与特征向量。
TechFlow-承志
2020/03/05
2.7K0
线性代数精华——矩阵的特征值与特征向量
numpy 矩阵|特征值|特征向量
https://www.servicenow.com/products/it-operations-management/what-is-aiops.html
heidsoft
2023/03/18
5100
numpy 矩阵|特征值|特征向量
奇异值分解SVD
矩阵分解在机器学习领域有着广泛应用,是降维相关算法的基本组成部分。常见的矩阵分解方式有以下两种
生信修炼手册
2021/04/14
9700
数据处理之PCA
推荐好文PCA的数学原理 本文将会用Python来实现PCA,帮助更好的理解 视频地址:https://www.youtube.com/watch?v=koiTTim4M-s notebook地址
zhuanxu
2018/08/23
1.4K0
数据处理之PCA
详解Python科学计算扩展库numpy中的矩阵运算(1)
首先解答上一篇文章中使用with关键字让你的Python代码更加Pythonic最后的习题,该题答案是False,原因在于内置函数sorted()的参数reverse=True时表示降序排序,而内置函数reversed()是逆序或者翻转(首尾交换),二者之间没有任何关系。 --------------------分割线------------------- Python扩展库numpy提供了大量的矩阵运算,本文进行详细描述。 >>> import numpy as np >>> a_list = [3, 5
Python小屋屋主
2018/04/16
1.6K0
数据分析 ——— numpy基础(二)
接上篇文章,继续更新一些numpy下的一些常用函数的使用, 在这里多为矩阵的操作,创建矩阵,单位矩阵,求解逆矩阵等并进行one-hot编码,线性矩阵的特征向量,特征值,奇异值,行列式的计算。
andrew_a
2019/07/30
9100
基于Numpy的线性代数运算
numpy.matrix方法的参数可以为ndarray对象 numpy.matrix方法的参数也可以为字符串str,示例如下:
潇洒坤
2018/09/10
1.1K0
基于Numpy的线性代数运算
PYTHON替代MATLAB在线性代数学习中的应用(使用Python辅助MIT 18.06 Linear Algebra学习)
MATLAB一向是理工科学生的必备神器,但随着中美贸易冲突的一再升级,禁售与禁用的阴云也持续笼罩在高等学院的头顶。也许我们都应当考虑更多的途径,来辅助我们的学习和研究工作。 虽然PYTHON和众多模块也属于美国技术的范围,但开源软件的自由度毕竟不是商业软件可比拟的。
俺踏月色而来
2020/08/19
5.7K0
NumPy Essentials 带注释源码 五、NumPy 中的线性代数
# 来源:NumPy Essentials ch5 矩阵 import numpy as np ndArray = np.arange(9).reshape(3,3) # matrix 可以从 ndarray 直接构建 x = np.matrix(ndArray) # identity 用于构建单位矩阵 y = np.mat(np.identity(3)) x ''' matrix([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
ApacheCN_飞龙
2019/02/15
9140
NumPy Essentials 带注释源码 五、NumPy 中的线性代数
Numpy常用属性和函数(三)
如果向量v与变换A满足Av=λv,则称向量v是变换A的一个特征向量,λ是相应的特征值。
用户6021899
2019/08/14
3990
python3-特征值,特征分解,SVD
1.设A为n阶矩阵,若存在常数λ及n维非零向量x,使得Ax=λx,则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量。 A的所有特征值的全体,叫做A的谱,记为λ(A) 2.特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。需要注意只有对可对角化矩阵才可以施以特征分解。 一个矩阵的一组特征向量是一组正交向量。
py3study
2020/01/06
1.6K0
线性代数整理(三)行列式特征值和特征向量
比方说在二维平面中,这里有三组二维向量,每组都有两个向量,那么每组向量的面积就可以表示它们的不同。当然这里说面积是针对二维平面来说的,在三维空间中,就是体积;在更高维度中,可能就是一个体,但这个体比较抽象
算法之名
2021/03/04
2.8K0
主成分分析(PCA)的教程和代码
数据是机器学习模型的燃料。也许你有很多ML技术可以选择并应用于特定问题,但如果你没有很多好的数据,你就无法做的深入。数据通常是机器学习应用程序中改善性能的最大驱动因素。
AiTechYun
2018/12/13
2.6K0
主成分分析(PCA)的教程和代码
矩阵特征值和特征向量怎么求_矩阵的特征值例题详解
  设 A 是n阶方阵,如果存在数m和非零n维列向量 x,使得 Ax=mx 成立,
全栈程序员站长
2022/09/20
1.4K0
高能!8段代码演示Numpy数据运算的神操作
Numpy是Numerical Python extensions 的缩写,字面意思是Python数值计算扩展。Numpy是Python中众多机器学习库的依赖,这些库通过Numpy实现基本的矩阵计算,Python的OpenCV库自然也不例外。
IT阅读排行榜
2019/06/14
1.5K0
相关推荐
如何计算特征向量?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验