深度学习-李沐-第二节-数据处理与操作
数据操作及数据预处理
定义
n维数组,也称为张量(tensor)。张量类(在MXNet中为ndarray,在PyTorch和TensorFlow中为Tensor) 都与Numpy的ndarray类似。但深度学习框架⼜⽐Numpy的ndarray多⼀些重要功能:⾸先,GPU很好地⽀持加速计算,⽽NumPy仅⽀持CPU计算;其次,张量类⽀持⾃动微分。这些功能使得张量类更适合深度学习。
数据操作
创造张量
1 | x = torch.arange(12) |
运算符
1 | op1 = torch.tensor([1.0, 2, 4, 8]) |
张量连结与比较
1 | X = torch.arange(12).reshape((3, 4)) |
n维张量的dim取值[-n,n-1],0表示从第一个维度连结,-1表示从最后一个维度连结(与n-1同效)
广播机制与切片索引
1 | # 广播机制 a复制行 b复制列 然后相加 |
节省内存与转换对象
1 | # 节省内存 |
数据预处理
读取数据集
创建数据
1 | os.makedirs(os.path.join('..', 'data'), exist_ok=True) # 在上级目录创建data文件夹 |
读取数据
1 | # 读取数据集 |
处理缺失值
处理缺失值
1.用fillna()填充缺失值
2.利用pandas中的get_dummies函数来处理离散值或者类别值
1 | # 处理缺失值 |
转换为张量格式
1 | X, y = torch.tensor(inputs.values), torch.tensor(outputs.values) |
扩展
关于fillna()函数的扩展
1 | df1 = pd.DataFrame([[1, 2, 3], [NaN, NaN, 2], [NaN, NaN, NaN], [8, 8, NaN]]) # 创建初始数据 |
- 标题: 深度学习-李沐-第二节-数据处理与操作
- 作者: moye
- 创建于 : 2022-08-16 15:00:46
- 更新于 : 2025-12-11 14:39:48
- 链接: https://www.kanes.top/2022/08/16/深度学习-李沐-第二节-数据处理与操作/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论