Python机器学习快速入门系列2: 矩阵数学知识整理
机器学习算法中,对矩阵的操作非常频繁,如果不熟悉矩阵的数学知识, 或者不太理解Python中对于矩阵操作的方法, 学习起来会寸步难行, 因此这篇笔记用于整理Python和数学相关的基础知识点,方便查阅。
1. Array创建矩阵, 矩阵转为Array
一般是从Array来创建, 各种编程语言都使用Array
import numpy as np
aArr=[
[6,2,3],
[4,5,6],
[2,7,1]
]
aMatrix=np.mat(aArr)
aArrNew=aMatrix.A
2. 矩阵取数,和排序
取第一行
aMatrix[0,:]
矩阵取第二列
aMatrix[:,1]
矩阵第二列排序
col=aMatrix[:,1]
col.sort(0)
矩阵第二行排序
line=aMatrix[2,:]
line.sort(1)
A矩阵的行乘以B矩阵的列, 每个元素相乘,最后结果相加
4. 行列式
二阶行列式的值就是主对角线相乘减去次对角线相乘得到的数值。
如果矩阵的行列式为0,那么就不能对这个矩阵计算矩阵
矩阵:
[[ 14. 62.]
[ 62. 308.]]
[[ 14. 62.]
[ 62. 308.]]
行列式值:
linalg.det 468.0 =14*308-62*62
linalg.det 468.0 =14*308-62*62
行列式为0: 有2行或2列数值相同的情况, 有一行或一列全为0的情况;
5. 矩阵转置
把矩阵的行转为列, 把原来的列变成行
aMatrix.T 直接得到
[6,2,3]
[4,5,6]
[2,7,1]
转置后得到
[6,4,2]
[2,5,7]
[3,6,1]
6. 逆矩阵
矩阵: xTx.I inverse 矩阵求逆。 AB=BA=E
E的结果为:
[ 3+(-2) 1+-1
-6+6 -2+3 ]
aMatrix.I 得到矩阵的逆矩阵。 (如果矩阵的行列式值为0,那么计算逆矩阵是会出错的)
[[ 0.24342105 -0.125 0.01973684]
[-0.05263158 -0. 0.15789474]
[-0.11842105 0.25 -0.14473684]]
[-0.05263158 -0. 0.15789474]
[-0.11842105 0.25 -0.14473684]]
7. 矩阵转换成一维矩阵
aMatrix.flatten()
[
[6,2,3]
[4,5,6]
[2,7,1]
]
转换后:
[[6,2,3,4,5,6,2,7,1]]
相关推荐
夕加加 2020-07-20
sdwylry 2020-02-20
guangmingsky 2020-06-05
sasac 2020-09-25
huangjie0 2020-09-25
cloudking000 2020-09-11
xiaoxiaokeke 2020-07-28
mingyunxiaohai 2020-07-28
honghao0 2020-07-27
风吹夏天 2020-07-26
CallmeZhe 2020-06-29
zhoujiyu 2020-06-28
清风徐来水波不兴 2020-06-16
Happyunlimited 2020-06-15
wanff0 2020-06-14
cuiguanjun 2020-06-13
啸林 2020-06-12
jiayuqicz 2020-06-09
章鱼之家 2020-06-08