【代码pycharm】动手学深度学习v2-04 数据操作 + 数据预处理

数据操作 + 数据预处理

  • 1.数据操作
    • 运行结果
  • 2.数据预处理实现
    • 运行结果

第四课链接

1.数据操作

import torch
# 张量的创建
x1 = torch.arange(12)
print('1.有12个元素的张量:\n',x1)
print('2.张量的形状:\n',x1.shape)
print('3.张量中元素的总数:\n',x1.numel())y1=x1.reshape((3,4)) # 改变一个张量的形状而不改变元素数量和元素值
print('4.改变形状后的张量\n',y1)z=torch.zeros((2,3,4))
print('5.全0张量\n',z)  # 创建一个张量,其中所有元素都设置为0
w=torch.ones((2,3,4))
print('6.全1张量\n',w)# 创建一个张量,其中所有元素都设置为1
q=torch.tensor([[1,2,3,4],[2,1,4,3],[2,3,4,1]])
print('7.特定值张量\n',q) # 通过提供包含数值的 Python 列表(或嵌套列表)来为所需张量中的每个元素赋予确定值# 张量的运算x=torch.tensor([1.0,2,4,8])
y=torch.tensor([2,2,2,2])
print('8.张量的运算,加减乘除求幂\n',x+y,x-y,x*y,x/y,x**y)  # **运算符是求幂运算
print('9.按元素做指数运算\n',torch.exp(x))x2=torch.arange(12,dtype=torch.float32).reshape(3,4)
y2=torch.tensor([[2.0,1,4,3],[1,2,3,4],[4,3,2,1]])
print('10.连结:\n',torch.cat((x2,y2),dim=0),torch.cat((x2,y2),dim=1)) # 连结(concatenate) ,将它们端到端堆叠以形成更大的张量。
print('11.逻辑运算符 构建二元张量:\n',x2==y2) # 通过 逻辑运算符 构建二元张量
print('12.张量所有元素的和:\n',x2.sum()) # 张量所有元素的和# 广播机制
a=torch.arange(3).reshape(3,1)
b=torch.arange(2).reshape(1,2)
print('13.广播机制:\n',a+b)# 元素访问
x4=torch.arange(12,dtype=torch.float32).reshape(3,4)
print('14.元素访问:\n',x4[-1],x4[1:3])  # 用 [-1] 选择最后一个元素, 用 [1:3] 选择第二个和第三个元素]
x4[1,2]=9 # 写入元素。
x4[0:2,:]=12 # 写入元素。
print('15.写入元素:\n',x4)#转换为其他python对象a2= x.numpy()
print('16.转换为numpy张量:\n',type(a2))
b2=torch.tensor(a2)
print('17.转换为torch张量:\n',type(b2))a3=torch.tensor([3.5])
print('18.转换为python标量:\n',a3,a3.item(),float(a3),int(a3))

运行结果

在这里插入图片描述
在这里插入图片描述

2.数据预处理实现

读取csv原始数据文件,做一定的预处理(处理缺失数据),再变为torch可用的tensor
csv:每一行是一个数据,域用逗号隔开
NA:未知的数
一般读取csv文件使用pandas库

import os
import pandas as pd
import torch
# 创建csv文件
os.makedirs(os.path.join('..','data'), exist_ok=True) # 在上级目录创建data文件夹
data_file=os.path.join('..','data','house_tiny.csv')  # 创建文件
with open(data_file,'w')as f: # 创建文件f.write('NumRooms,Alley,prince\n') #列名f.write('NA,Pave,127500\n') #每行表示一个数据样本f.write('2,NA,10600\n')f.write('4,NA,178100\n')f.write('NA,NA,140000\n') # 第4行的值
# 加载CSV文件
data=pd.read_csv(data_file)
print('1.原始数据:\n',data)# 数据预处理,处理缺失的数据(插值)inputs,outputs=data.iloc[:,0:2],data.iloc[:,2]
#数值预处理
inputs=inputs.fillna(inputs.mean()) # 用均值填充NaN
#非数值预处理
# 利用pandas中的get_dummies函数来处理离散值或者类别值。
# [对于 inputs 中的类别值或离散值,我们将 “NaN” 视为一个类别。] 由于 “Alley”列只接受两种类型的类别值 “Pave” 和 “NaN”
inputs=pd.get_dummies(inputs,dummy_na=True)print('2.预处理后的数据:\n',inputs)x,y=torch.tensor(inputs.values),torch.tensor(outputs.values)
print('3.转换为张量:\n',x,y)

运行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/18575.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

智云-一个抓取web流量的轻量级蜜罐v1.5

智云-一个抓取web流量的轻量级蜜罐v1.5 github地址 https://github.com/xiaoxiaoranxxx/POT-ZHIYUN 新增功能-自定义漏洞信息 可通过正则来添加相关路由以及响应来伪造 nacos的版本响应如下 日流量态势 月流量态势 抓取流量效果

【Android原生问题分析】夸克、抖音划动无响应问题【Android14】

1 问题描述 偶现问题,用户打开夸克、抖音后,在界面上划动无响应,但是没有ANR。回到Launcher后再次打开夸克/抖音,发现App的界面发生了变化,但是仍然是划不动的。 2 log初分析 复现问题附近的log为: 用户…

2024年11月16日 星期六 重新整理Go技术

今日格言 坚持每天进步一点点~ 一个人也可以是一个团队~ 学习全栈开发, 做自己喜欢的产品~~ 简介 大家好, 我是张大鹏, 今天是2024年11月16日星期六, 很高兴在这里给大家分享技术. 今天又是休息的一天, 做了很多的思考, 整理了自己掌握的技术, 比如Java, Python, Golang,…

go-zero(一) 介绍和使用

go-zero 介绍和使用 一、什么是 go-zero? go-zero 是一个基于 Go 语言的微服务框架,提供了高效、简单并易于扩展的 API 设计和开发模式。它主要目的是为开发者提供一种简单的方式来构建和管理云原生应用。 1.go-zero 的核心特性 高性能: g…

VUE+SPRINGBOOT实现邮箱注册、重置密码、登录功能

随着互联网的发展,网站用户的管理、触达、消息通知成为一个网站设计是否合理的重要标志。目前主流互联网公司都支持手机验证码注册、登录。但是手机短信作为服务端网站是需要付出运营商通信成本的,而邮箱的注册、登录、重置密码,无疑成为了这…

多目标优化算法:多目标蛇鹫优化算法(MOSBOA)求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6,提供完整MATLAB代码

一、蛇鹫优化算法 蛇鹫优化算法(Secretary Bird Optimization Algorithm,简称SBOA)由Youfa Fu等人于2024年4月发表在《Artificial Intelligence Review》期刊上的一种新型的元启发式算法。该算法旨在解决复杂工程优化问题,特别是…

2024-11-15 Java开发工程师 内推

Java开发工程师 坐标:大连 岗位要求: 1、本科以上学历,计算机相关专业 2、22/23/24届毕业生 小结:有意向的私信发简历

Python绘制雪花

文章目录 系列目录写在前面技术需求完整代码代码分析1. 代码初始化部分分析2. 雪花绘制核心逻辑分析3. 窗口保持部分分析4. 美学与几何特点总结 写在后面 系列目录 序号直达链接爱心系列1Python制作一个无法拒绝的表白界面2Python满屏飘字表白代码3Python无限弹窗满屏表白代码4…

当 docker-compose.yaml 文件部署时,Dify 线上版本升级过程

如果线上 Dify 是通过 docker-compose.yaml 文件部署的,那么当 Dify 版本升级时该如何操作呢?官方已经给出了 Docker compose 和 Source Code 两种方式。相对而言,前者更简单些,至少不需要安装依赖包和迁移数据库文件。为了更加具…

RHCSA学习超详细知识点2命令篇

输入命令行的语法 终端中执行命令需要遵照一定的语法,输入命令的格式如下: 命令 参数命令 -选项 参数 输入命令时可以包含多个选项,假如一个命令有-a,-b,-c,-d四个选项,可以写作 命令 -a -b -c -d 参数 这里的多个选项可以“提…

小米路由器用外网域名访问管理界面

本文在Redmi AX3000 (RA81)设置,其他型号路由器的管理界面端口可能各不相同。 开始之前需要保证路由器SSH功能正常,如果没有SSH可以参考这里。 1. 给WAN口开放80端口 可以通过下载mixbox的firewall插件或者其他防火墙插件开放端口。 2. 把域名解析到路…

✅DAY27贪心算法 | 455.分发饼干 | 376. 摆动序列 | 53. 最大子序和

一、贪心算法 核心理念是每一步都做出局部最优选择,以期最终得到全局最优解。它通常用于求解一些最优化问题,例如最小生成树、最短路径、背包问题等。 二、贪心算法的步骤 1. 定义选择标准:确定每一步如何选择当前最优解。 2. 验证贪心策…

无人机+无人车+机器狗:城市巷战突破技术详解

在城市巷战中,无人机、无人车和机器狗的组合可以形成一种全新的战场突破技术,这种组合能够大幅提升作战效率,减少人员伤亡。以下是对这一技术的详细解析: 一、无人机的作用 1.空中侦察:无人机能够提供高空视角&#x…

智慧环保之环境网格化监测解决方案

1. 引言 智慧环保网格化监测解决方案,旨在通过先进的信息技术手段,实现环境质量的全面、精准、实时监测,为环境治理提供科学依据和决策支持。 2. 背景与挑战 当前,环境污染问题日益严峻,治理难度不断加大。传统监测手…

vue2+3 —— Day5/6

自定义指令 自定义指令 需求&#xff1a;当页面加载时&#xff0c;让元素获取焦点&#xff08;一进页面&#xff0c;输入框就获取焦点&#xff09; 常规操作&#xff1a;操作dom “dom元素.focus()” 获取dom元素还要用ref 和 $refs <input ref"inp" type&quo…

2024 RISC-V 中国峰会 演讲幻灯片和视频回放 均已公开

目录 一、幻灯片地址&#xff1a; 二、演讲视频&#xff1a; 一、幻灯片地址&#xff1a; RVSC2024/slides at main cnrv/RVSC2024 GitHub 二、演讲视频&#xff1a; RISC-V国际基金会的个人空间-RISC-V国际基金会个人主页-哔哩哔哩视频 参考&#xff1a; 1、RISC-V 中…

sudu问题 --> 添加用户到系统配置文件里面

我们重新创建一个用户lisi 密码&#xff1a;lisixxxxxxxx 重新连接&#xff0c;输入用户&#xff0c;输入密码 是不行的 我们输入exit退出 打开文件 再切换身份&#xff0c;切换为超级管理员root 输入密码 再打开 我们打开后设置行号在50行左右可以看到我们的目标 我们再进行…

C++: string(二)

✨✨ 欢迎大家来到我的文章✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 分类专栏&#xff1a;c 我的主页&#xff1a;tyler s blog 文章目录 一 string的成员函数1 insert2 resize3assign4erase5replace6 find(1) find(2)rfind…

【无人机设计与控制】基于MATLAB的四旋翼无人机PID双闭环控制研究

摘要 本文基于MATLAB/Simulink环境&#xff0c;对四旋翼无人机进行了PID双闭环控制设计与仿真研究。通过分析四旋翼无人机的动力学模型与运动学模型&#xff0c;建立了姿态和位置双闭环控制系统&#xff0c;以实现无人机的稳定飞行与精确轨迹跟踪。仿真实验验证了该控制策略的…

DimensionX 部署笔记

目录 生成视频用CogVideoX-5b-I2V 推理代码&#xff1a; DimensionX 生成视频用CogVideoX-5b-I2V 推理代码&#xff1a; 可以生成&#xff0c;从左向右旋转的&#xff0c;也可以生成从上往下旋转的&#xff1a; import torch from diffusers import CogVideoXImageToVideo…