数据操作+数据预处理

发布时间:2026/7/5 14:01:01

数据操作+数据预处理 数据1.张量tensor其实就是n维数组在PyTorch和TensorFlow中张量类为Tensor是深度学习主要的数据结构。0维——标量1维——向量2维——矩阵每一行表示一个样本每一列表示特征3维——图片rgb4维——批量的图片数组有三要素形状几行几列数据类型元素的值关于多维数组的理解以三维为例(2, 3, 4)就是两个二维的3*4数组2.访问基于python中切片的形式进行部分数据的访问3.使用# 生成0~11的一个一维数组xtorch.arange(12)# 获取张量的形状x.shape# 张量元素的总数x.numel()# 改变张量的形状但不影响元素的个数和值Xx.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来指示维度对应的其实就是形状中的第几个比如一个张量的形状是2345另一个是1345dim0上进行连接那么数据就应当是3345Xtorch.arange(12,dtypetorch.float32).reshape((3,4))Ytorch.tensor([[2.0,1,4,3],[1,2,3,4],[4,3,2,1]])torch.cat((X,Y),dim0),torch.cat((X,Y),dim1)3.广播机制它使得形状不同的张量也可以进行元素运算但该机制在张量的连接中不会起作用。atorch.arange(3).reshape((3,1))btorch.arange(2).reshape((1,2))ab广播机制会使得两个矩阵变为一个更大的矩阵矩阵a将复制列 矩阵b将复制行然后再按元素相加(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.处理缺失值这是数据预处理的重要环节典型的方法包括插值法和删除法 其中插值法用一个替代值弥补缺失值而删除法则直接忽略缺失值

相关新闻