深度学习-数据预处理

news2025/1/14 0:52:58

目录

  • 创建一个人工数据集
  • 处理缺失的数据
    • 插入
      • 对inputs中的类别值或离散值,将NaN视为一个类别
      • 对inputs和outputs中的数值类型转换为张量格式

创建一个人工数据集

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,10600\n')
    f.write('4,NA,178100\n')
    f.write('NA,NA,140000\n')
data = pd.read_csv(data_file)
print(data)

结果:
在这里插入图片描述

os.makedirs():递归创建目录
os.path.join(‘. .’, ‘data’): ‘. .’(代表上一级目录
exist_ok=True:当设置为True时,如果目录已经存在,os.makedirs()不会引发错误。
默认情况下,如果目录已存在,os.makedirs()会引发一个FileExistsError

在这里插入图片描述




处理缺失的数据

典型的方法包括插值删除

插入

import os
import pandas as pd
data_file = os.path.join('..', 'data', 'house_tiny.csv')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = inputs.fillna(inputs.select_dtypes(include='number').mean())
print(inputs)

结果:
在这里插入图片描述
对于这种情况:

import os
import pandas as pd
data_file = os.path.join('..', 'data', 'house_tiny.csv')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = inputs.fillna(inputs.mean())
print(inputs)

结果:
在这里插入图片描述
分析:
首先先选出数据类型再求平均值填充
iloc[]是切片操作,data.iloc[:, 0:2]中0:2 表示取从第 0 列和第1列。

在这里插入图片描述
data.iloc[:, 2]中2表示下标为2的列,即第三列。

import os
import pandas as pd
data_file = os.path.join('..', 'data', 'house_tiny.csv')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]
print(outputs)

结果:
在这里插入图片描述




对inputs中的类别值或离散值,将NaN视为一个类别

在这里插入图片描述

import os
import pandas as pd
data_file = os.path.join('..', 'data', 'house_tiny.csv')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = inputs.fillna(inputs.mean(numeric_only=True))
#inputs.fillna(inputs.select_dtypes(include='number').mean())
inputs = pd.get_dummies(inputs, dummy_na=True, dtype=int)
print(inputs)

结果:
在这里插入图片描述




对inputs和outputs中的数值类型转换为张量格式

import os
import pandas as pd
import torch
data_file = os.path.join('..', 'data', 'house_tiny.csv')
data = pd.read_csv(data_file)
inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]
inputs = inputs.fillna(inputs.mean(numeric_only=True))
inputs = pd.get_dummies(inputs, dummy_na=True, dtype=int)
x, y = torch.tensor(inputs.values), torch.tensor(outputs.values)
print(x)
print(y)

结果:
在这里插入图片描述

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

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

相关文章

C++判断一个点是否在一个在任意空间中的长方体中

目录 不旋转的长方体计算旋转矩阵及旋转后的长方体计算旋转矩阵计算旋转后的长方体 判断点是否在旋转后的长方体内 不旋转的长方体 如果这个长方体是规则的,不进行任何旋转,可以先计算长方体的BoundingBox,判断点是否在3D的BoundingBox中即可…

自制Apache-Doris 2.0.4镜像Docker部署一Fe和一Be集群及遇到的问题解决

自制Apache-Doris 2.0.4镜像Docker部署一Fe和一Be集群及遇到的问题解决 文章目录 1.前言2.doris是什么?2.1简介2.2介绍2.3使用场景2.4架构 3.官网4.构建部署4.1 构建环境4.2 doris2.0.4的fe和be镜像构建4.2.1 fe2.0.4镜像构建脚本4.2.2 be2.0.4镜像构建4.2.3 启动脚…

Matlab对多个输入信号进行数值排序提取特定值

1、将多个信号转为一个数组信号输出,在这里需要注意,数据类型是否统一; 2、使用Sort模块,进行排序(可设置排序方向),得到排序后的新数组以及对应的索引号; 3、设置想要的索引号&…

YOLOv8改进项目汇总-超全改进-ultralyticsPro介绍:订阅了《芒果YOLOv8原创改进专栏》的读者免费赠送,包括很多稀有改进

🔥🔥🔥专注于YOLOv8改进,NEW - YOLOv8 🚀 in PyTorch >, Support to improve Backbone, Neck, Head, Loss, IoU, LA, NMS and other modules🚀 Makes YOLOv8 improvements easy again 芒果出品 YOLOv8…

前端CSS基础8(盒子模型(margin、border、padding、content))

前端CSS基础8(盒子模型(margin、border、padding、content)) CSS盒子模型CSS中常用的长度单位元素的分类,各个元素的显示模式修改元素的显示模式(类型)盒子模型的组成部分盒子内容区-contentCSS…

Python的venv虚拟环境

venv 是 Python 的一个内置模块,用于创建和管理虚拟环境(virtual environments)。虚拟环境可以独立于系统的全局环境,并且可以在其中安装特定版本的包和库,以便于项目之间的隔离和管理。下面是 venv 的使用教程&#x…

【SpringCloud】Consul-服务注册中心及配置中心快速入门

【SpringCloud】Consul-服务注册中心及配置中心快速入门 文章目录 【SpringCloud】Consul-服务注册中心及配置中心快速入门1. 下载安装及启动2. 服务注册2.1 引入依赖2.2 yml配置2.3 启动类配置2.4 测试 3. 服务配置3.1 引入依赖3.2 yml配置3.3 创建配置文件3.4 动态刷新配置3.…

有没有学网络空间安全的学长,想知道学长们毕业以后都去干嘛了?

我作为一个零基础小白到白帽黑客,也认识到了很多零基础小白的,有一些网络空间安全的学员,但是大多数还是非计算机相关专业的学员。他们通过系统学习网络安全,掌握黑客技术之后,都找到了自己满意的工作。 同学A&#x…

从0到1实现RPC | 接入Apollo配置中心

一、代码实现 添加依赖 添加apollo客户端的依赖和spring配置相关依赖 添加监听器 通过实现ApplicationContextAware接口,获取Spring上下文。 使用ApolloConfigChangeListener注解监听命名空间rpc-demo-provider.yaml和默认的application.properties。 监听逻辑…

Meta Llama 3本地部署

感谢阅读 环境安装收尾 环境安装 项目文件 下载完后在根目录进入命令终端(windows下cmd、linux下终端、conda的话activate) 运行 pip install -e .不要控制台,因为还要下载模型。这里挂着是节省时间 模型申请链接 复制如图所示的链接 然后…

翱途O2OA新手上路-服务器下载及私有云部署

本篇主要简要描述从官网下载服务器,进行部署,启动的过程,并且描述在部署过程中常见的问题与报错以及云服务器安全策略配置和O2OA服务器端口修改的方式。 O2OA部署的服务器要求不高,一般使用4C8G以上的服务器均可正常运行。 一、检…

Unity进阶之ScriptableObject

目录 ScriptableObject 概述ScriptableObject数据文件的创建数据文件的使用非持久数据让其真正意义上的持久ScriptableObject的应用配置数据复用数据数据带来的多态行为单例模式化的获取数据 ScriptableObject 概述 ScriptableObject是什么 ScriptableObject是Unity提供的一个…

Vue+OpenLayers7入门到实战,OpenLayers加载GeoJson数据并叠加GeoJson中的要素到地图上

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战 前言 本章介绍如何使用OpenLayers7在地图上加载GeoJson数据并叠加GeoJson中的要素到OpenLayers矢量图层上。 GeoJson数据格式可以参考博主另一篇文章《GIS开发入门,GeoJSON是什么?GeoJSON格式标准介绍》,那么…

Python Selenium无法打开Chrome浏览器处理自定义浏览器路径

问题 在使用Python Selenium控制Chrome浏览器操作的过程中,由于安装的Chrome浏览器的版本找不到对应版本的驱动chromedriver.exe文件,下载了小几个版本号的驱动软件。发现运行下面的代码是无法正常使用的: from selenium import webdriver …

在excel中,如何在一个表中删除和另一个表中相同的数据?

现在有A表,是活动全部人员的姓名和学号,B表是该活动中获得优秀人员的姓名和学号, 怎么提取没有获得优秀人员的名单? 这里提供两个使用excel基础功能的操作方法。 1.条件格式自动筛选 1.1按住Ctrl键,选中全表中的姓…

电机控制专题(一)——最大转矩电流比MTPA控制

文章目录 电机控制专题(一)——最大转矩电流比MTPA控制前言理论推导仿真验证轻载1Nm重载30Nm 总结 电机控制专题(一)——最大转矩电流比MTPA控制 前言 MTPA全称为Max Torque Per Ampere,从字面意思就可以知道MTPA算法的目的是一个寻优最值问题,可以从以…

如何高效的压缩GIF图片?一键搞定GIF动图压缩 就是这么简单

一,引言 压缩GIF动图是一个常见的需求,无论是在社交媒体上分享动态表情,还是在网页设计中添加动态元素,GIF动图都扮演着重要的角色。然而,过大的GIF文件大小可能会导致加载速度慢,影响用户体验。因此&…

【每日刷题】Day22

【每日刷题】Day22 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 1669. 合并两个链表 - 力扣(LeetCode) 2. 11. 盛最多水的容器 - 力扣&#…

茶饮门店本地生活抖音团购运营方案计划书

【干货资料持续更新,以防走丢】 茶饮门店本地生活抖音团购运营方案计划书 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT可编辑80页(完整资料包含以下内容) 目录 抖音本地生活运营方案 1. 账号基础搭建与优化 - 门店账号…

MTK6775/MT6775/曦力P70联发科处理器性能参数资料

联发科MT6775(曦力P70)芯片搭载强大的Arm Cortex-A73/A53八核CPU,并采用台积电12纳米FinFET制程工艺,相较于其他14纳米级别产品,功耗节省达到了15%。此外,曦力P70还配备了高效能的Arm Mali-G72 GPU,相比上一代产品曦力…