动手学深度学习v2—01数据操作+数据预处理

news/2024/4/26 8:08:52/文章来源:https://blog.csdn.net/weixin_45662399/article/details/129164491

@[TOC]

此次用到的虚拟环境:pytorchmwy

项目名称:limuAI

所需框架和工具:pytorch,pandas

一、创建CSV文件

所需工具:pandas

在与项目同等目录下创建一个文件夹名为data,其中文件名称为house_tiny.csv。

代码如下:

import os
import pandas as pd
os.makedirs(os.path.join('..','data'),exist_ok=True)
data_file = os.path.join('..','data','house_tiny.csv')
with open(data_file,'w') as f:f.write('NumRooms,Alley,Price\n')  # 列名f.write('NA,Pave,127500\n')  # 每⾏表⽰⼀个数据样本f.write('2,NA,106000\n')f.write('4,NA,178100\n')f.write('NA,NA,140000\n')data = pd.read_csv(data_file)
print(data)

二、补全缺失值

2.1 补全数字

注意到上面表格中的数据有缺失值,因此考虑插值法进行数据补全。

pandas中的iloc函数:通过行号来取行数据(index location)
e.g. data.iloc[ : , 0:2 ],取数据表的第1和第2行,以及所有的行取出来。
# 抽取缺失列
inputs,outputs = data.iloc[:,[0,1]],data.iloc[:,2]
# 将缺失值补充为数据的平均值
inputs = inputs.fillna(inputs.mean())
print(inputs)

可以看到numrooms中的数据被补全了,2和4的均值为3,故被补全为3。

2.2 补全字符串值

但是Alley中的数据还是有空值,因为pave是字符串,无法进行mean操作求值。对于inputs中的类别值或者离散值,我们将“NaN”视作一个类别。

get_dummies方法可以把把离散的类别信息转化为onehot编码形式,
dummy_na=True意为是否把nan单独看做一个类别。
inputs = pd.get_dummies(inputs,dummy_na=True)
print(inputs)

三、数值类型转换为张量

把inputs和outputs的数值形式转换为pytorch中的张量(tensor)形式。

#转换为张量格式
x,y = torch.tensor(inputs.values),torch.tensor(outputs.values)
print(x,'\n',y)

四、完整代码

import os
import pandas as pd
import torch#创建本地文件数据表
os.makedirs(os.path.join('..','data'),exist_ok=True)
data_file = os.path.join('..','data','house_tiny.csv')
with open(data_file,'w') as f:f.write('NumRooms,Alley,Price\n')  # 列名f.write('NA,Pave,127500\n')  # 每⾏表⽰⼀个数据样本f.write('2,NA,106000\n')f.write('4,NA,178100\n')f.write('NA,NA,140000\n')# 打印数据表
data = pd.read_csv(data_file)
print(data)# 抽取缺失列
inputs,outputs = data.iloc[:,[0,1]],data.iloc[:,2]# 将缺失值补充为数据的平均值
inputs = inputs.fillna(inputs.mean())
print(inputs)
#生成两个类
inputs = pd.get_dummies(inputs,dummy_na=True)
print(inputs)#转换为张量格式
x,y = torch.tensor(inputs.values),torch.tensor(outputs.values)
print(x,'\n',y)

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随想录二刷 (双指针法) leetcode 27 26 283 844

双指针法的原理 双指针法相对于暴力解法的优点有以下几点 暴力遍历的时间复杂度会比较高双指针法利用两个指针进行遍历完成双层循环所做的事情 双指针一般有两种方法 同向指针,双向指针 第一题 leetcode 27 移除元素 题目描述 题目分析 采用暴力遍历可以得出结…

高效制作知识库的软件工具,这6个都很不错哦!

任何工作流程都离不开文档管理,因此文档管理也是企业数字化转型中的重要环节。面对复杂的业务流程、频繁的文档编辑任务和跨区域的文件共享需求,优秀的文档管理体系能够帮助企业实现安全的文档存储,高效的文档搜索,便捷的文档协作…

(一)Spring-Cloud源码分析之核心流程关系及springcloud与springboot包区别(新)

文章目录1. 前言2. springcloud简介3. Springcloud包简介4. Springcloud和Springboot流程关系5. Springcloud启动流程新增的功能和接口5.1 新增接口5.2 新增功能类5.2.1 spring-cloud-context包5.2.2 spring-cloud-commons包6. Springcloud实现机制带来的问题7. Springcloud和S…

深入浅出C++ ——手撕红黑树

文章目录一、红黑树的概念二、红黑树的性质三、红黑树节点的定义四、红黑树的插入操作五、红黑树的验证五、红黑树的删除六、红黑树与AVL树的比较七、红黑树的应用八、红黑树模拟实现一、红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存…

Typecho COS插件实现网站静态资源存储到COS,降低本地存储负载

Typecho 简介Typecho 是一个简单、强大的轻量级开源博客平台,用于建立个人独立博客。它具有高效的性能,支持多种文件格式,并具有对设备的响应式适配功能。Typecho 相对于其他 CMS 还有一些特殊优势:包括可扩展性、不同数据库之间的…

(二十五)、实现评论功能(5)【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】

1,实现二级回复的入库操作 1.1 两个子组件(comment-item和comment-frame)与父组件reply之间的属性传值 comment-item: props: {item: {type: Object,default () {return {}}}},comment-frame: props: {commentObj: {…

儿童饰品发夹发卡出口美国办理什么认证?

亚马逊美国站上传新产品,很多时候都是需要类目审核的,后台给出要求提供认证,产品类目不同,所需要提供的认证证书是不一样,儿童产品需要提交的是CPC认证,玩具,母婴用品,儿童书包&…

PDF文件怎么转图片格式?转换有技巧

PDF文件有时为了更美观或者更直观的展现出效果,我们会把它转成图片格式,这样不论是归档总结还是存储起来都会更为高效。有没有合适的转换方法呢?这就来给你们罗列几种我个人用过体验还算不错的方式,大家可以拿来参考一下哈。1.用电…

Apifox = Postman + Swagger + Mock + JMeter

目录 可视化API设计 高效 & 零学习成本 可复用的“数据模型” 遵循 OpenAPI(Swagger) 规范 可导入 Swagger 等 20 数据格式 具体使用尝鲜 多项目管理 支持多环境切换 支持IDEA、浏览器、桌面应用 Idea插件 公共API hub库 如题:一款非常好用的API管理测…

Wi-Fi 7技术揭秘

引言 2022年4月7日,紫光股份旗下新华三集团全球首发企业级智原生Wi-Fi 7 AP新品 WA7638和WA7338。仅在同年的6月15日,在东京举行的第29届日本网络通信展览会(Interop Tokyo 2022,简称Interop展)中,WA7638就…

D1s RDC2022纪念版开发板开箱评测及点屏教程

作者new_bee 本文转自:https://bbs.aw-ol.com/topic/3005/ 目录 芯片介绍开发板介绍RT-Smart用户态系统编译使用感想引用 1. 芯片介绍 RISC-V架构由于其精简和开源的特性,得到业界的认可,近几年可谓相当热门。操作系统方面有RT-Thread&am…

Firebase常用功能和官方Demo简介

一、Firebase简介Firebase刚开始是一家实时后端数据库创业公司,它能帮助开发者很快的写出Web端和移动端的应用。自2014年10月Google收购Firebase以来,用户可以在更方便地使用Firebase的同时,结合Google的云服务。现在的Firebase算是谷歌旗下的…

模拟信号4-20mA /0-5V/0-75mV/0-100mV转RS-485/232,数据采集A/D转换模块 YL21

特点:● 模拟信号采集,隔离转换 RS-485/232输出● 采用12位AD转换器,测量精度优于0.1%● 通过RS-485/232接口可以程控校准模块精度● 信号输入 / 输出之间隔离耐压3000VDC ● 宽电源供电范围:8 ~ 32VDC● 可靠性高,编程…

界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)

DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任…

海思SD3403/SS928V100开发(5)MIPI_YUV相机vio sample开发----修改思路

1. 前言 sensor输出格式: YUV422 8bit 硬件连接: MIPI_YUV相机(4lane MIPI) -> SS928V100 MIPI0(4lane) 框图: 2. 几个问题 基于SS928 SDK中的 vio sample修改; 但是sample里面都是基于RAW RGB sensor开发的sample, 没有现成的MIPI_YUV sensor的参考,需要自己…

CentOS 8利用Apache安装部署下载服务器

1:部署的目的是做一个类似下面开源镜像网站,把一些软件或者资料上传到服务器上面,减少用户在互联网上下载资料,提高效率,减少病毒。 2:使用下面的命令配置本机的IP地址主机名等信息。后期使用IP地址进行访问…

11技术太卷我学APEX-数据加载

11技术太卷我学APEX-数据加载 0 所谓的数据加载 就是导入数据到数据库表中,本示例就采用Excel导入数据到《技术太卷我学APEX》的apex_learn表。表结构大概是这样的 CREATE TABLE "APEX_LEARN" ( "P_ID" NUMBER(17,0) NOT NULL ENABLE, &quo…

【Elasticsearch】安装配置与使用

一、下载与安装Elasticsearch下载地址:https://www.elastic.co/cn/downloads/elasticsearch#ga-release前端管理界面:https://github.com/mobz/elasticsearch-head这两个文件都是解压即可。二、配置与启动1.elasticsearch6以上的版本已经内置jdk&#xf…

2023年Java进阶架构师的必备思维导图,让你少走弯路!

架构师是什么?要做什么? 架构师 :是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。架构师不是一个人,他需要建立高效的体系,带领团队去攻城略地,在规定的时间内…

一文速学-Adaboost模型算法原理以及实现+Python项目实战

目录 前言 一、Adaboost算法概述 二、Adaboost模型原理 类推 计算原理 特点 适应较小量数据集,训练时间长 三、Python实例运用 AdaBoostClassifier分类 参数 实例实现分类 导入数据集 划分数据集 训练模型 评估算法 模型效果 前言 集成学习的方法在全…