Python Numpy 矩阵运算(附实例和学习材料)

Abstract:使用numpy进行矩阵的加减乘除、转置、求逆、求特征向量等运算。

1.NUMPY矩阵运算语法

  1. import numpy库:import numpy as np

  2. 创建矩阵:a = np.mat([[x1, x2,…,xn], [y1, y2, …, yn]])

  3. 矩阵乘法:

    1. a * b
    2. np.dot(a, b ):求两数组点积
  4. 矩阵加减:a - b

  5. 矩阵转置:

    1. a.T
    2. a.transpose()
  6. 矩阵除法:a/b

  7. 矩阵求逆:

    1. a.I
    2. np.linalg.inv(a)
  8. 求特征向量:np.linalg.eig(a)

  9. 求迹:np.trace(a)

  10. 求行列式的值:numpy.linalg.det()

  11. 求两个数组的矩阵乘积:numpy.matual(a, b)

  12. 求矩阵形式的线性方程的解:numpy.linalg.solve()

延伸:numpy.linalg 模块里还有很多矩阵运算的方法,感兴趣的可以去了解下 (在文末的Extender里给出了学习材料 Tutorials Numpy 教程)~

关于矩阵乘法需要注意:

  • 矩阵乘法规定,只有当第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义

  • 若a为 m x p 的矩阵,B为 p x n的矩阵,则 a x b 的结果是 m x n的矩阵。

  • 若两矩阵行列数不满足上面的条件,可以对矩阵进行转置。

  • 维度数不符合要求,则不能执行矩阵乘法。

2.NUMPY 数组语法

  1. 随机生成数组:np.random.rand(m, n)

  2. 创建数组:np.array([[x1, x2,…,xn], [y1, y2, …, yn]])

  3. 向数组添加元素:np.append(A, a_i)

  4. ​数组索引:A[2:5] 表示索引数组 A 中第 3 到第 5 个元素

3. 实例(求多元回归最小二乘估计)

多元回归方程参数最小二乘估计的公式:

代码实例:

  import numpy as np
  
  X = np.mat([[1,1,1,1,1,1,1,1,1,1,1,1,1,1],[41, 45, 51, 52, 59, 62, 69,72, 78, 80, 90, 92, 98, 103],
      [49, 58, 62, 71, 62, 74, 71, 74, 79, 84, 85, 94, 91, 95]])
  
  X=X.T
  
  Y = np.mat([28, 39, 41, 44,  43, 50, 51, 57, 63, 66, 70, 76, 80, 84]).T
  
  B = (X.T * X).I * X.T * Y
  
  print B
  
  [[-15.93836228]
   [  0.52227044]
   [  0.47382726]] 

4.EXTENDER

【非常全的教程】TutorialsPoint Numpy 教程

运用numpy进行数组、向量、矩阵运算

70个NumPy练习:在Python下一举搞定机器学习矩阵运算

Numpy 小结


btw:

Github: https://github.com/ScarlettYellow

个人博客:https://scarletthuang.cn/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值