数据操作+数据预处理

数据

1.张量(tensor)

其实就是n维数组,在PyTorch和TensorFlow中张量类为Tensor,是深度学习主要的数据结构。

0维------标量

1维------向量

2维------矩阵,每一行表示一个样本,每一列表示特征

3维------图片(rgb)

4维------批量的图片

数组有三要素:形状(几行几列),数据类型,元素的值

关于多维数组的理解,以三维为例,(2, 3, 4),就是两个二维的3*4数组

2.访问

基于python中切片的形式进行部分数据的访问

3.使用

python 复制代码
# 生成0~11的一个一维数组
x = torch.arange(12)
# 获取张量的形状
x.shape
# 张量元素的总数
x.numel()
# 改变张量的形状,但不影响元素的个数和值
X = x.reshape(3, 4)
# 生成全0、全1、随机、指定数据的张量
torch.zeros((2, 3, 4))
torch.ones((2, 3, 4))
torch.randn(3, 4)
torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])

数据操作

1.运算

任意具有相同形状的张量, 可以用常见的标准算术运算符(+、-、*、/和**)来进行对应元素的运算

2.张量的连接

连接的前提是指定维度外的其他维度相同,连接后指定维度发生延长,其他其他维度保持不变,用dim来指示维度,对应的其实就是形状中的第几个,比如一个张量的形状是(2,3,4,5),另一个是(1,3,4,5),dim=0上进行连接,那么数据就应当是(3,3,4,5)

python 复制代码
X = torch.arange(12, dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
torch.cat((X, Y), dim=0), torch.cat((X, Y), dim=1)

3.广播机制

它使得形状不同的张量也可以进行元素运算,但该机制在张量的连接中不会起作用。

python 复制代码
a = torch.arange(3).reshape((3, 1))
b = torch.arange(2).reshape((1, 2))
a+b

广播机制会使得两个矩阵变为一个更大的矩阵,矩阵a将复制列, 矩阵b将复制行,然后再按元素相加

python 复制代码
(tensor([[0],
         [1],
         [2]]),
 tensor([[0, 1]]))
 #结果
 tensor([[0, 1],
        [1, 2],
        [2, 3]])

4.内存问题

Y = X + Y,将取消引用Y指向的源地址,而是指向新分配的内存处的张量

可以使用X: = X + Y或X += Y来减少操作的内存开销

数据预处理

数据集通常是存储在csv文件中,导入pandas包并调用read_csv函数来进行读取

1.处理缺失值

这是数据预处理的重要环节,典型的方法包括插值法和删除法, 其中插值法用一个替代值弥补缺失值,而删除法则直接忽略缺失值

相关推荐
2601_962297252 分钟前
C# vs Java vs Python:YOLO工业部署性能对比实战
java·python·c·工业视觉·性能对比
CTA终结者25 分钟前
示例、拆解和练习,要连成一条量化补课线
人工智能·python
lolijiaqi1526 分钟前
一线观察:长期体验后发现的医疗器械 CDMO 底层现象
大数据·python
spencer_tseng1 小时前
[j2cache ehcache.xml]/tmp/.ehcache-diskstore.lock (Permission denied)
xml·linux·python·ehcache·[j2cache
梦想不只是梦与想1 小时前
Python Web 框架:FastAPI
python·fastapi·web框架
玩大数据的龙威2 小时前
农经权二轮延包—全面取代人工公示图生成
python·arcgis
IT_Octopus2 小时前
JSON 日志里的 `{“$ref“:“$.xxx“}`:从 fastjson 兼容包到原生 fastjson2 的迁移实录
开发语言·python·json
geovindu2 小时前
python:HandWriting Recognition using paddlepaddle
开发语言·后端·python·paddlepaddle
wuyk5553 小时前
Python 零基础入门第九章:用户输入与 While 循环
开发语言·python
兮动人3 小时前
Python变量与常量
开发语言·python·机器学习·python变量与常量