数据操作+数据预处理

数据

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.处理缺失值

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

相关推荐
别问!问就是全会34 分钟前
Jupyter Notebook 安装包下载|单元格分块运行,图表直接内嵌
ide·python·其他·jupyter
深蓝AI1 小时前
Python 缓存击穿实测:16 个并发请求如何只回源 1 次
python
benchmark_cc1 小时前
用 00700.HK 做港股行情清洗:字段核对、校验与个人量化开发实践
python·数据分析·pandas·量化交易·股票数据·quantdash
zh路西法2 小时前
【PACE】面向永磁同步电机PMSM 执行器的参数辨识与能耗感知强化学习 Sim-to-Real
python·cma-es·pmsm·sim-to-real·issac·pace
后台模板学习2 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
2601_967987373 小时前
如何运行 Python 代码
python·最佳实践·脚本文件·代码运行·交互式环境
WiKiLeaks_successor3 小时前
重构Time库的抽象设计
python·重构
AI源码3 小时前
基于 Python 的短视频用户行为分析系统
开发语言·python
第九序言T3 小时前
数据分析岗 Pandas 面试题 20 道(上):概念与读代码
python·数据分析·pandas·数据处理
Dmz丶3 小时前
前端转 AI 100 天 Day 37:Few-shot 与 CoT——让模型学会“推理”
python