【深度学习】P1 数据缺失值预处理

数据缺失值预处理

  • 创建数据集
  • 展示数据集
  • 缺失值处理

创建数据集

首先创建一个人工数据集,作为下文对数据缺失值预处理的案例,

import osos.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')

案例中包含数值缺失值(属性NumRooms)字符串缺失值(属性Alley);


展示数据集

通过 pandasread_csv 函数读取 csv 文件,

import pandas as pddata = pd.read_csv(data_file)
print(data)

请添加图片描述

需要注意的是,不是 NaN 而是 NA 的原因,是因为上述创建数据集时 NA 前包含空格;


缺失值处理

对缺失数据的处理,典型方法包括 插值删除,而对于很少的数据集,一般不采用删除的方法。以下展示插值的方法,插值包含 对于数值缺失值的插值 以及 对于字符串缺失值的插值

首先对数值缺失值做插值处理,插入平均值,

inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]inputs = inputs.fillna(inputs.mean(numeric_only=True))
print(inputs)

请添加图片描述

注意加入 numeric_only=True 的原因是为了区分出数值缺失值以及字符串缺失值;

对于字符串的缺失值,可以把所有缺失值做成一个类。列中所有不同的值各自作为一个类,通过 pandas 库的 get_dummies 函数,进行分类操作,

inputs = pd.get_dummies(inputs, dummy_na=True, dtype=int)
print(inputs)

请添加图片描述

如果不加入 dtype=int 属性,则一般默认为结果值为 True/False 而非 1/0;

将所有的缺失值以及所有的字符串转化为数值后,就可以转换为张量格式的 tensor 了,

import torchX, y = torch.tensor(inputs.values), torch.tensor(outputs.values)

请添加图片描述

64位浮点数一般计算比较慢,所以深度学习通常会使用32位浮点数;

以上便是一个对于数据缺失值的简单处理,以及最后转化为深度学习的数据结构。

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

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

相关文章

SIP协议在语音通信的应用方式

在企业语音通信的过程中,SIP协议支持的网络通信技术通过网络为用户提供了无数的通信便利,已成为企业不可或缺的重要通信技术。由于SIP协议是语音通信帮助企业实现这些优势的原因,因此了解支持这些呼叫的SIP协议的上下文至关重要。 什么是SIP?…

Duplicate 模型中的 ROLLUP(十六)

因为 Duplicate 模型没有聚合的语意。所以该模型中的 ROLLUP,已经失去了“上卷”这一层含义。而仅仅是作为调整列顺序,以命中前缀索引的作用。下面详细介绍前缀索引,以及如何使用 ROLLUP 改变前缀索引,以获得更好的查询效率。 前…

微服务保护 Sentinel

1.初识Sentinel 文章目录 1.初识Sentinel1.1.雪崩问题及解决方案1.1.1.雪崩问题1.1.2.超时处理1.1.3.仓壁模式1.1.4.断路器1.1.5.限流1.1.6.总结 1.2.服务保护技术对比1.3.Sentinel介绍和安装1.3.1.初识Sentinel1.3.2.安装Sentinel 1.4.微服务整合Sentinel 2.流量控制2.1.簇点链…

C语言—指针初始化

指针初始化&#xff1a;指针初始情况下指向哪个地址。两种指针初始化方式 1、声明指针时就进行指针初始化&#xff0c;告诉指针指向哪个地址 #include <stdio.h> int main () {int i5;int *p&i;return 0; }2、声明指针时未进行初始化&#xff0c;在后期把指向的地…

MacM1(ARM)安装Protocol Buffers

MacM1(ARM)安装Protocol Buffers 本文目录 MacM1(ARM)安装Protocol Buffers3.21之前版本安装使用configure3.22之后版本安装使用cmake使用编译后的版本 protobuf下载地址&#xff1a;https://github.com/protocolbuffers/protobuf/releases 在运行./autogen.sh或./configure命…

大表查询如何优化?

大表查询的优化方法有以下几种&#xff1a; 索引优化&#xff1a;通过建立合理高效的索引&#xff0c;提高查询的速度。SQL优化&#xff1a;组织优化SQL语句&#xff0c;使查询效率达到最优&#xff0c;在很多情况下要考虑索引的作用。水平拆表&#xff1a;如果表中的数据呈现…

curl添加https服务

CURL支持的通信协议有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。 首选删除系统自带的openssl&#xff0c;因为他只有可执行程序和库&#xff0c;没有头文件。 sudo apt-get remove openssl openssl官网&am…

CentOS7磁盘挂载

1 引言 本文主要讲述CentOS7磁盘挂载相关知识点和操作。 2 磁盘挂载 步骤1&#xff1a; 查看机器所挂硬盘及分区情况 fdisk -l查询结果&#xff1a; 由上图可以看到该结果包含&#xff1a;硬盘名称、硬盘大小等信息。 属性解释说明Disk /dev/vda硬盘名称53.7G磁盘大…

6S精益管理必备装备降低物料损耗

在工厂生产环境中&#xff0c;设备管理是确保生产效率和质量的关键因素之一。6S管理方法是一种源自日本的管理体系&#xff0c;旨在通过整顿、整理、清扫、清洁、素养、遵守六个步骤&#xff0c;实现工作环境的优化和管理的高效。 仓库管理中&#xff0c;库存损耗一直是企业面…

分布式篇---第四篇

系列文章目录 文章目录 系列文章目录前言一、分布式ID生成有几种方案?二、幂等解决方法有哪些?三、常见负载均衡算法有哪些?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给…

多回路交流三相单相电压电流电量监测开口式互感器适用多种环境用电能耗监控

1 产品概述 多回路交流无线电压电流传感器/电量采集监测仪搭配多路开口式互感器&#xff0c;可以监控采集三相电压、电流、功率和电量等信息&#xff0c;可用于能耗采集监控。支持RS485和4G网络接口&#xff0c;数据可以对接客户指定的第三方云平台。本产品可实现单相/三相用电…

Spring事务的实现方式和实现原理;事务声明的方式,Spring的事务传播行为,spring事务的实现原理

Spring事务的实现方式和实现原理 Spring事务的本质其实就是数据库对事务的支持&#xff0c;没有数据库的事务支持&#xff0c;spring是无法提供事务功能的。真正的数据库层的事务提交和回滚是通过binlog或者redo log实现的。 什么是事务 数据库事务是指作为单个逻辑工作单元执…

发布本地(sap hana)Jar包到Maven私有仓库

在控制台执行如下命令&#xff1a; mvn deploy:deploy-file -DgroupId"com.sap.cloud.db.jdbc" -DartifactId"ngdbc" -Dversion"2.0.13" -Dpackaging"jar" -Dfile"F:\sap_ngdbc\ngdbc-2.0.13.jar" -DrepositoryId"rel…

Co-DETR:DETRs与协同混分配训练论文学习笔记

论文地址&#xff1a;https://arxiv.org/pdf/2211.12860.pdf 代码地址&#xff1a; GitHub - Sense-X/Co-DETR: [ICCV 2023] DETRs with Collaborative Hybrid Assignments Training 摘要 作者提出了一种新的协同混合任务训练方案&#xff0c;即Co-DETR&#xff0c;以从多种标…

网站会遭受那些攻击,要怎么应对

随着互联网的普及和发展&#xff0c;很多企业或个人都建立了自己的网站&#xff0c;这些网站不仅可以展示企业或个人的信息&#xff0c;还可以提供各种服务和交流平台。但是&#xff0c;在运营网站的过程中&#xff0c;很多人都会遇到网站被流量攻击的情况&#xff0c;这种情况…

gmapping仿真

文章目录 获取源码安装依赖项编译简单场景运行gmapping开启键盘控制通过launch文件来启动gmappingGmapping建图的参数设置地图的保存和加载参考 获取源码 cd ~/catkin_ws/src/ git clone https://gitcode.com/weixin_42990464/wpr_simulation.git git clone https://gitcode.c…

【开源】基于Vue.js的农村物流配送系统的设计和实现

项目编号&#xff1a; S 024 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S024&#xff0c;文末获取源码。} 项目编号&#xff1a;S024&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统登录、注册界面2.2 系统功能2.2…

java使用poi框架导出excel文件名命名为中文的方法

最近使用poi框架实现自动化报表导入导出功能&#xff0c;但是遇到一个问题&#xff0c;导出的表格命名为中文时不被识别&#xff0c;直接会以接口名为文件名导出&#xff0c;那么如何解决这个问题呢&#xff1f; 三行代码解决&#xff1a; String fileName "xxxx统计表-…

小程序:用户查找英语单词的意思 ← Python字典

【程序分析】 ● 字典中的条目是没有顺序的。 ● 可以对字典使用如下方法&#xff1a; keys()、values()、 items()、 clear()、 get(key)、 pop(key) 和popitem()【程序代码】 dictionary{"dog":"狗","apple":"苹果","banana&q…

Java字节码指令集概述及分类详解

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 1、字节码指令集与解析概述 Java字节码对于虚拟机&#xff0c;就好像汇编语言对于计算机&#xff0c;属于基本执行指令。 Java 虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字&#xff08;称为操作码&a…