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

从机器学习学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()

举例:

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

原文发布于微信公众号 - 决胜机器学习(phpthinker)

原文发表时间:2018-01-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏量化投资与机器学习

从Encoder到Decoder实现Seq2Seq模型(算法+代码)

知乎专栏:机器不学习 作者:天雨栗 | 蚂蚁金服 | 数据算法 已授权刊登 前言 好久没有更新专栏,今天我们来看一个简单的Seq2Seq实现,我们将使用Tens...

8716
来自专栏小樱的经验随笔

算法--枚举策略

枚举法的基本思想 枚举法的基本思想是根据提出的问题枚举所有可能状态,并用问题给定的条件检验哪些是需要的,哪些是不需要的。能使命题成立,即为其解。 枚举结构:循环...

5219
来自专栏AI研习社

从 Encoder 到 Decoder 实现 Seq2Seq 模型

前言 好久没有更新专栏,今天我们来看一个简单的Seq2Seq实现,我们将使用TensorFlow来实现一个基础版本的Seq2Seq,主要帮助理解Seq2Se...

62313
来自专栏专知

【Keras教程】用Encoder-Decoder模型自动撰写文本摘要

【导读】这篇博文介绍了如何在深度学习框架Keras上实现文本摘要问题,探讨了如何使用编码器-解码器递归神经网络体系结构来解决文本摘要问题,如何实现文本摘要问题的...

9535
来自专栏视觉求索无尽也

【Python】Numpy使用指南

Numpy是用来存储和处理大型矩阵,比Python自身的嵌套列表结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。

1792
来自专栏ArrayZoneYour的专栏

如何用Python将时间序列转换为监督学习问题

像深度学习这样的机器学习方法可以用于时间序列预测。

2.3K11
来自专栏专知

机器学习的大局:用神经网络和TensorFlow分类文本

本译文自Déborah Mesquita在https://medium.freecodecamp.org发表的Big Picture Machine Learn...

42614
来自专栏人工智能头条

十分钟掌握Keras实现RNN的seq2seq学习

1484
来自专栏计算机视觉life

SLIC超像素分割详解(二):关键代码分析

SLIC超像素分割详解(二) 网站http://ivrl.epfl.ch/research/superpixels给出了SLIC的代码。对于其中C++代码的几个...

2697
来自专栏张俊红

Sklearn参数详解—SVM

3K4

扫码关注云+社区

领取腾讯云代金券