数据操作+数据预处理

     1 数据操作

   N维数组

N维数组是机器学习和神经网络的主要数据结构。

                 0维的数组叫做标量,

1维的数组叫做向量,

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

3维最典型的是一个RGB图片,宽*高*通道。

4维就是n个3维数组放在一起,例如n个RGB图片的批量,批量大小*宽*高*通道。

5维例如一个视频的批量,批量大小*时间*宽*高*通道

创建数组

                 创建数组我们需要三个东西:形状、每个元素的数据类型、每个元素的值。

访问元素

此处列出错,应该是:1 

 2数据操作实现

张量表示一个数值组成的数组,这个数组可能会有多个维度。

 可以通过张量的shape来访问张量的形状和张量中元素的总数。

要改变一个张量的形状而不改变元素数量和元素值,我们可以调用reshape函数 。

 还可以使用全0、全1、其他常量或者从特定分布中随机采样的数字。

 通过提供包函数值的python列表(或者嵌套列表)来为所需要的张量中的每个元素赋予确定值。

常见的算术运算符都可以升级为按元素运算

 

我们也可以把多个张量链接在一起

 还可以通过逻辑运算符构建二元张量

 对张量中的所有的元素求和会产生一个只有一个元素的张量

 即使形状不同,我们也可以调用广播机制(broadcasting mechanism)来执行按元素操作

 

两个张量形状不一样,维度一样,把1维度的地方复制,例如把c复制为3*2的矩阵,把d复制为3*2的矩阵。

还可以简单地实现元素的读写

 

 对于内存上,类似于改写的方式不会分配新内存,也就是原地操作,如果后续操作不重复使用的,可以采用原地操作减小内存消耗

 NumPy是python最基础的多元数组运算框架,所有框架都可以方便的从numpy转换

 

 3数据预处理实现

 用

用pandas读取csv

 

 数据分为事物特征和输出,对于一个data,由iloc拿出部分数据放在inputs和outputs里面

再有fillna填一个值,也就是上图的mean(),也就是对于原本确实的NumRooms的值填成了非空的均值也就是3。

 对于字符串类的,把所有出现的数值都编成一个特征

 现在全都是数据,就可以编为一个tensor,现在变成了一个张量

 把一个csv文件做一定处理变成一个pytorch的tensor

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值