0%

机器学习实践Numpy【3】矩阵

复习了Python的基础语法,开始使用Numpy进行数据操作,同时使用JuPyter notebook 实践、记录。

矩阵与数组

一、矩阵

基础知识
1
2
3
4
5
6
7
8
9
10
11
12
13
1. 矩阵加减
- 对应位置+-
2. 矩阵乘
- 标量*矩阵:标量和矩阵每个位置相乘
- 矩阵*矩阵:[M行,N列]*[N行,L列] = [M行,L列]
- 满足结合律,不满足交换律
3. 单位矩阵
- 对角线为1,其他位置为0
3. 矩阵的逆
- 矩阵A * 矩阵B = 单位矩阵,则A与B互为逆矩阵
- 参考链接:https://jingyan.baidu.com/article/1709ad8095e1924634c4f03a.html
5. 矩阵转置
- 行列互换
1
2
3
import numpy as np
a = np.array([[90,80],[90,88],[70,98]])
a
array([[90, 80],
       [90, 88],
       [70, 98]])
1
2
3
b = np.array([[0.3],[0.7]])
np.matmul(a,b) # 仅能矩阵*矩阵
np.dot(a,b) # 能矩阵*矩阵;能矩阵*数
array([[83. ],
       [88.6],
       [89.6]])

二、数组

数组运算
1
2
3
4
5
1. 数组与数运算(直接运算)
2. 数组与数组运算(满足广播机制)
- numpy会比较数组的shape,满足以下情况,数组才能进行运算
- 维度相等
- shape(其中相对应的一个地方为1)
1
2
3
import numpy as np
arr = np.array([1,2,3,4])
arr
array([1, 2, 3, 4])
1
2*arr # 乘
array([2, 4, 6, 8])
1
2*arr + 1 # 加
array([3, 5, 7, 9])
1
(2*arr + 1)/2 # 除以
array([1.5, 2.5, 3.5, 4.5])
1
2
3
arr1 = np.array([[1,2,3]])
arr2 = np.array([[1,2,3],[1,2,3]])
arr1+arr2
array([[2, 4, 6],
       [2, 4, 6]])
1
2


觉得不错?