前言:
前人栽树,后人乘凉,学习还是要多交流,学习别人的学习经验,这样可以少走弯路,别人推荐的一套“机器学习”相关学习资料,先理解的算法,然后编程实现,对理解“机器学习”算法原理十分有帮助。
Numpy引入
获取矩阵行数列数(二维情况)
习惯了采用matlab进行数模的编程,要对矩阵进行遍历时,一般先获取矩阵的行数和列数。要获取narray对象的各维的长度,可以通过narray对象的shape属性
矩阵的截取
按行列截取,矩阵的截取和list相同,可以通过[](方括号)来截取
按条件截取
按条件截取其实是在[](方括号)中传入自身的布尔语句
按条件截取应用较多的是对矩阵中满足一定条件的元素变成特定的值。
例如将矩阵中大于6的元素变成0。
矩阵的合并
矩阵的合并可以通过numpy中的hstack方法和vstack方法实现
矩阵的合并也可以通过concatenatef方法。
np.concatenate( (a1,a2), axis=0 ) 等价于 np.vstack( (a1,a2)
np.concatenate( (a1,a2), axis=1 ) 等价于 np.hstack( (a1,a2) )
通过函数创建矩阵
numpy模块中自带了一些创建ndarray对象的函数,可以很方便的创建常用的或有规律的矩阵。Arange
linspace
linspace()和matlab的linspace很类似,用于创建指定数量等间隔的序列,实际生成一个等差数列。
logspace
linspace用于生成等差数列,而logspace用于生成等比数列。
下面的例子用于生成首位是100,末位是102,含5个数的等比数列。
ones、zeros、eye、empty
ones创建全1矩阵
zeros创建全0矩阵
eye创建单位矩阵
empty创建空矩阵(实际有值)
获得矩阵中元素最大最小值的函数分别是max和min,可以获得整个矩阵、行或列的最大最小值。
获得矩阵中元素的平均值可以通过函数mean()。同样地,可以获得整个矩阵、行或列的平均值。