开始看了吴恩达老师的机器学习课程,在完成第一个线性回归的时候就遇到了大问题。归结起来是自己numpy的掌握不够熟悉,因次学习了numpy的一些使用知识。学习位置是在B站,因此笔记也是按照视频的内容来写哒,视频地址:https://www.bilibili.com/video/av16378934?p=3 想看视频的小伙伴也可以直接去看视频。
一:numpy 属性
numpy 可以理解为一种实现科学计算的包,因此使用前我们应该先导入numpy包
import numpy as np #导入numpy包并且命名为np,方便之后调用
- 数组定义
array = np.array([[1,2,3], [1,2,3 ]]) #定义了两行三列的数组,数组名为array
- 查看数组信息
array.ndim #查看数组维度
array.size #查看数组大小
array.shape #查看数组形状
二:numpy 创建array 的属性
- 定义矩阵的格式
通过dtype 可以定义矩阵的格式 例如 np.int64,np.int32,np.float等。
a = np.array([1,2,3], dtype = np.int64) #创建一个一行三列的矩阵 格式为int 64 。
- 创建一个特殊的矩阵(零矩阵 1矩阵 空矩阵)
通过np.zeros ,np.ones ,np.empty可以创建一些特殊矩阵
np.zeros((3,8)) #创建3行 8列的零矩阵
np.ones((3,8)) #创建 3行 8列的 1 矩阵
- 生成有序数列
通过arrange 以及linspace可以生成具有一定步长或者一定数量的矩阵
np.arrange(10,20,2) #生成步长为2的一个1行5列矩阵,范围为:[10,20)
np.linspace(10,20,2) #生成含有2个变量的1行2列矩阵(程序会自动计算步长),范围为:[10,20]
当然有序数列的形状我们也可以自定义
np.arrange(10,20,2).reshape(5,1) #生成步长为2的一个5行1列矩阵,范围为:[10,20)
三:numpy的基础运算
- 加减运算
实现矩阵的简单加减
b + c #实现b矩阵与c矩阵想加减
- 点乘 矩阵相乘 平方
1.矩阵的点乘 及矩阵相同位置的数值相乘
- 矩阵相乘
实现两个矩阵的乘法
3. 矩阵的n次幂
4. 输出矩阵的和,矩阵某一行的最大值
5.对矩阵索引的操作
6.对于矩阵A 输出中位数,累加,累差等。
7.对于A 的数据进行排序
8 . 实现矩阵的转置
9.对于矩阵A 的数值进行一个选择
以上是第一次学习内容,第一位写文章,不免有疏漏之处,希望大家多多指教