机器学习系列 之 Numpy结构化数据属性和操作(一)
Numpy 机器学习中的作用
对大数据依赖程度比较高的机器学习,开发者通过算法,提取特征,最终将训练集和测试集中分类后的模型以图像的形式展现出来, 可见算法有多么的重要,这就是算法驱动的图像为何如此生成和如此表达;
可图像模式是如何被肉眼清晰所见和区分呢?(参考下方美人图:稀疏像素点,肉眼依旧可分辨出是美女模式)当图像平铺于整个平面,是由像素点构成的,而大量的像素点排列是以矩阵的形式。开发者操控着以数据为基础的矩阵,缩进,旋转,拉伸等让图形以算法为驱动的模式展现出来机器学习后的效果。而Nupmy是操作数据矩阵的工具包。本文将如一介绍numpy结构化数据创建,多维数组属性和对矩阵的操作。

N维数组对象(ndarray)
numpy中用ndarray来表达N维数组的对象类型
ndarray也是一个N维的矩阵表达或者一维数组对象
题目举例:创建一个随机生成3*5的二维矩阵,并输出该矩阵的数据类型
解题思路:用numpy提供的arange和reshape方法,前者是等差序列数, 后者是对矩阵设置固定维度的行列数。type()输出变量类型,代码可见numpy构建的结构化数据是ndarray数据类型,其中n代表维度。当n=1,代表其一维数组,n>=2,为有行和列的矩阵

ndarray的常用属性
1. shape 2. ndim 3. dtype.name 4. size
4个属性,代码举例:

ndarray常用操作方法:
1. arange( start, end, step) 方法介绍:
start 起始位置;end 终止位置,开区间; step,步长, 默认dtype 是int类型

2. zeros( var ) 方法介绍:
构建全部为0的n维矩阵, var 参数为元组类型

3. ones( var ) 方法介绍:
构建元素为1的矩阵,参数为元组

4. np.random.random( var )方法介绍:
生成从-1 到 1的随机数, 参数 元组类型

5. linspace (begin, end, totalNum, dtype)方法介绍
构建总数为totalNum数量的一维数组,值区间从begin到end。指定元素类型dtype
如代码所见,ndim=1 一维数组,值从1 到3.14平方,取int32。 如需要转成矩阵,结合reshape()方法
参考下方代码注释:

本章小结
1. 什么是numpy,且用其可以做什么
2. 用numpy创建一个ndarray的对象,来表达一维数组或者多维矩阵
3. ndarray的常用属性(size,shape,dtype, ndim)
4. ndarry的常用操作(arange,reshape,zeros,ones)
5. 随机生成ndarray方法中,random( ) 特点:值都是从-1 到 1;linspace 和 arange 是允许指定值区间,可以生成一维数组或者多维矩阵
Numpy 官网手册地址
https://www.numpy.org.cn/