机器学习库:numpy

Python
250
0
0
2024-04-15

写在开头

在机器学习中,我们除了关注模型的性能外,数据处理更是必不可少,本文将介绍一个重要的数据处理库numpy,将随着我的学习过程不断增加内容

基本数据格式

array

array矩阵是numpy中的数据格式,array格式有很多便捷的操作,如矩阵运算,广播等

使用代码

import numpy as np


arr = np.array([1, 2, 3, 4, 5])
print(type(arr))

矩阵运算

numpy数据与普通数据的一个重要区别就是它能调用函数进行矩阵运算

创建矩阵

import numpy as np

# 创建矩阵
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

矩阵加法

# 矩阵加法
C = A + B
print("Matrix Addition:")
print(C)

矩阵减法

# 矩阵减法
D = A - B
print("Matrix Subtraction:")
print(D)

矩阵乘法

# 矩阵乘法
E = np.dot(A, B)
print("Matrix Multiplication:")
print(E)

矩阵转置

# 矩阵转置
A_transposed = A.T
print("Matrix Transposition:")
print(A_transposed)

数据定位

argmax

argmax函数返回array矩阵中元素值最大的下标

使用代码

import numpy as np


arr = np.array([1, 4, 5, 2, 3])
print(np.argmax(arr))

数据生成

random.rand

这个函数会生成指定格式的(0,1)之间的数

import numpy as np


arr = np.random.rand(3, 4)
print(arr)

这段代码生成一个3x4的矩阵

random.randn

这个函数生成标准正态分布(均值为 0,标准差为 1)的随机样本

import numpy as np


arr = np.random.randn(3, 4)
print(arr)

random.randint

这个函数生成在指定范围内的随机整数。

import numpy as np


arr = np.random.randint(1, 10, size=(3, 4))
print(arr)

这个代码将生成数据从1到10(不包括)的整数,形状为3x4的矩阵

维度拓展

expand_dim

在机器学习任务中,有些模型对数据的格式有要求,这时我们可以使用expand_dim函数来拓展数据的维度

import numpy as np


arr = np.random.randint(1, 10, size=(3, 4))
print(arr)
print(np.expand_dims(arr, axis=0)) # 在第0个维度上拓展
print(np.expand_dims(arr, axis=1)) # 在第1个维度上拓展

可以看看效果

结语

numpy作为一个数据处理库,它主要用来进行数据生成,数据计算等任务,支撑着人工智能必不可少的数据处理任务