【机器学习】Numpy常用函数集锦

简介: 【机器学习】Numpy常用函数集锦

1、概述


   Numpy对于机器学习可能不如SKLearn那么重要,但是Numpy能对机器学习过程中常用的数据结构(向量、矩阵以及张量)进行高效的操作,所以很有必要对其进行学习、记忆以及总结,当然在实践中多使用自然比记忆更好。


2、常用Numpy函数的总结


import numpy as np
# 矩阵、向量操作类
vector = np.array([1,2,3]) # 创建一个vector
matrix = np.array([[1, 2, 3],
                             [2, 3, 4]]) # 创建一个matrix
matrix  = np.mat([[1,2,3],
                            [2,3,4]]) # 创建一个matrix
vector[:] # 选择向量中的所有元素
vector[:3] # 选择一个向量中第0—>3个元素
matrix[:2,:] # 选择matrix中第0,1两行的所有元素 
matrix[:,1:2] # 选择第一列上的所有行元素
matrix.shape # 查看矩阵matrix的行数和列数
matrix.size # 查看矩阵matrix中的所有元素的数量
matrix.ndim # 查看矩阵的维度
np.arange(10) # 返回[0,...,9]的向量
# 特殊矩阵、向量创建
np.zeros((3,4)) #创建3x4的元素全为0的矩阵
np.ones((3,4)) #创建3x4的元素全为1的矩阵
np.empty((2,3)) #创建2x3的空矩阵,初始化为随机的垃圾数
np.zeros_like(matrix) #创建和matrix相同shape的全0矩阵
np.ones_like(matrix) #创建和matrix相同shape的全1矩阵
np.empty_like(matrix) #创建和matrix相同shape的空矩阵
np.eye(5) #创建一个5x5的矩阵,对角元素为1,其他为0
np.full((3,5),6) #创建元素全为6,shape=(3,5)的矩阵
# 矩阵统计类
np.max(matrix) # 返回matrix所有元素中的最大值
np.max(matrix, axis=0) # 返回matrix所有列元素中的最大值
np.max(matrix, axis=1) # 返回matrix所有行元素中的最大值,下面的统计类的类似含义
np.min(matrix) # 返回matrix所有元素中的最小值
np.mean(matrix) # 返回matrix所有元素的平均值
np.var(matrix) # 返回matrix所有元素的方差
np.std(matrix) # 返回matrix所有元素的标准差
以及abs绝对值、sin、cos、sqrt、exp;
cumsum累积求和、cumproduct累积求积;
sum、mean、median中位数、corrcoef相关系数。
# 矩阵形状操作类
matrix.reshape(a, b) # 变形操作由原有的n*m维->a*b维,前提是n*m=a*b
matrix.T # 对矩阵进行转置操作
np.transpose(matrix) # 与matrix.T具有一样的效果,对矩阵进行转置
matrix.flatten() # 对matrix按行进行平铺操作,返回一个向量vector
# 矩阵性质输出类
np.linalg.matrix_rank(matrix) # 求取矩阵的秩
np.linalg.det(matrix) # 求取矩阵的行列式的值
matrix.diagonal() # 返回matrix的对角线元素
matrix.diagonal(offset=+1/-1) # +1代表主对角线上面的次对角线,-1代表主对角线下面的次对角线
matrix.trace() # 返回matrix的迹
eigenvalues,eigenvectors = np.linalg.eig(matrix) # 求取matrix的特征值和特征向量
# 矩阵运算类
np.dot(matrix1,matrix2) # 两个矩阵相乘
mat1 @ mat2 # 也是两个矩阵matrix相乘
mat1 * mat2 # 两个矩阵的对应元素相乘
np.linalg.inv(matrix) # 返回矩阵的逆
# 随机数相关操作
np.random.seed(666) # 设置随机种子,括号内可以为任意整数
np.random.random(3) # 返回3个0.0到1.0之间的随机浮点数
np.random.randint(0,11,3) # 返回3个1到10之间的随机整数
np.random.normal(0.0,1.0,3) # 返回标准正态分布中的随机3个数
np.random.logistic(0.0,1.0,3) # 返回logistic分布中的3个数
np.random.uniform(1.0, 2.0,3) # 返回 [1,2) 区间中的3个数
np.random.randn() #返回标准正态分布随机数
np.random.shuffle() #随机打乱顺序
# 合并操作
np.append(a,b) # 但是比较占用内存
np.concatenate(a,b) # 直接的拼接操作


参考:


《Python机器学习手册》——从数据预处理到深度学习

《Python深度学习——基于PyTorch》

相关文章
|
10月前
|
Python
NumPy 教程 之 NumPy 统计函数 9
NumPy提供了多种统计函数,如计算数组中的最小值、最大值、百分位数、标准差及方差等。其中,标准差是一种衡量数据平均值分散程度的指标,它是方差的算术平方根。例如,对于数组[1,2,3,4],其标准差可通过计算各值与均值2.5的差的平方的平均数的平方根得出,结果为1.1180339887498949。示例代码如下: ```python import numpy as np print(np.std([1,2,3,4])) ``` 运行输出即为:1.1180339887498949。
186 50
|
10月前
|
Python
NumPy 教程 之 NumPy 统计函数 10
NumPy统计函数,包括查找数组中的最小值、最大值、百分位数、标准差和方差等。方差表示样本值与平均值之差的平方的平均数,而标准差则是方差的平方根。例如,`np.var([1,2,3,4])` 的方差为 1.25。
138 48
|
9月前
|
Python
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
NumPy库中的`np.concatenate`和`np.append`函数,它们分别用于沿指定轴拼接多个数组以及在指定轴上追加数组元素。
339 0
Numpy学习笔记(五):np.concatenate函数和np.append函数用于数组拼接
|
9月前
|
机器学习/深度学习 算法 数据挖掘
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧1
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
143 5
|
9月前
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
|
9月前
|
机器学习/深度学习 算法 数据可视化
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧2
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
91 1
|
10月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 8
NumPy提供了多种排序方法,包括快速排序、归并排序及堆排序,各有不同的速度、最坏情况性能、工作空间和稳定性特点。此外,NumPy还提供了`numpy.extract()`函数,可以根据特定条件从数组中抽取元素。例如,在一个3x3数组中,通过定义条件选择偶数元素,并使用该函数提取这些元素。示例输出为:[0., 2., 4., 6., 8.]。
73 8
|
10月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 2
介绍NumPy` 中的排序方法与条件筛选函数。通过对比快速排序、归并排序及堆排序的速度、最坏情况性能、工作空间需求和稳定性,帮助读者选择合适的排序算法。此外,还深入讲解了 `numpy.argsort()` 的使用方法,并通过具体实例展示了如何利用该函数获取数组值从小到大的索引值,并据此重构原数组,使得其变为有序状态。对于学习 `NumPy` 排序功能来说,本教程提供了清晰且实用的指导。
82 8
|
10月前
|
机器学习/深度学习 搜索推荐 算法
NumPy 教程 之 NumPy 排序、条件筛选函数 5
NumPy中的排序方法及特性对比,包括快速排序、归并排序与堆排序的速度、最坏情况性能、工作空间及稳定性分析。并通过`numpy.argmax()`与`numpy.argmin()`函数演示了如何获取数组中最大值和最小值的索引,涵盖不同轴方向的操作,并提供了具体实例与输出结果,便于理解与实践。
65 5
|
9月前
|
机器学习/深度学习 算法 PyTorch
【机器学习】揭开激活函数的神秘面纱
【机器学习】揭开激活函数的神秘面纱