前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从机器学习学python(四) ——numpy矩阵基础

从机器学习学python(四) ——numpy矩阵基础

作者头像
用户1327360
发布2018-03-07 17:00:33
1.4K0
发布2018-03-07 17:00:33
举报
文章被收录于专栏:决胜机器学习决胜机器学习

从机器学习学python(四)——numpy矩阵基础

(原创内容,转载请注明来源,谢谢)

一、numpy中matrix 和 array的区别

Numpymatrices必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。

在numpy中matrix的主要优势是:相对简单的乘法运算符号。例如,a和b是两个matrices,那么a*b,就是矩阵积。

即用matrix计算时,加减乘除都是矩阵运算,而不是简单的运算。

二、矩阵和数组的转换

数组转矩阵:A = mat(s[]) ;矩阵转换数组:s[]= A.getA()

举例:

代码语言:javascript
复制
s=[[4,2],[3,2],[3,1]]
A =mat(s)
A
matrix([[4, 2],
[3, 2],
[3, 1]])
ss = A.getA()
ss
array([[4, 2],
[3, 2],
[3, 1]])

三、转置和轴对换

转置有三种方式,transpose方法、T属性以及swapaxes方法。

1、T属性

主要是针对二维数组,二维数组的T属性即转置。例如b=a.T表示矩阵b是矩阵a的转置。

2、transpose()

对于高维数组,转置需要确定转置方式。首先,矩阵的每个维度有个编号,从0开始编号,例如三维矩阵,则三个维度的编号分别是0、1、2。

a.transpose(0,1,2)即为a,表示a没有转置。a.transpose()则等价于a.transpose(2,1,1),表示完全的转置。而例如a.transpose(0,2,1)表示第三维和第二维进行的转换。

3、swapaxes()

这个方法和transpose方法类似,区别在于这个方法只接收两个参数,表示指定的两个维度的转换。例如a.swapaxes(1,2)等价于a.transpose(0,2,1)。注意到这里维度也是从0开始当作第一维的。

——written by linhxx 2018.01.17

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 决胜机器学习 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档