【深度学习】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.簇点链…

MacM1(ARM)安装Protocol Buffers

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

curl添加https服务

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

CentOS7磁盘挂载

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

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

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

分布式篇---第四篇

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

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

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

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

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

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

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

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的农村物流配送系统的设计和实现

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

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

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

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

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

医院供暖换热站远程监控案例

医院供暖换热站远程监控案例 本文针对医院换热站远程监控系统存在的问题,提出了一种基于物联网技术的解决方案。通过使用云平台功能,实现对换热站设备的远程监控和管理,提高系统运行效率,降低运维成本。 一.痛点 1、…

C语言——深入理解指针(1)

目录 1.内存与地址 1.1 什么是内存 1.2 编址 2. 指针的变量和地址 2.1 取地址(&) 2.2 指针变量 2.3 解引用 2.4 指针变量大小 3. 指针变量类型存在的意义 3.1 不同类型指针的解引用 3.2 指针对整数的运算(,-&#…

(10)ATF MMU转换表

MMU简介 MMU(内存管理单元)负责将软件使用的虚拟地址转换为内存系统中使用的物理地址。MMU包括两个模块:TLB(Translation Lookaside Buffer)和TWU(Table Walk Unit)。TLB缓存最近使用的转换&am…

Spring Beans;Spring Bean的生命周期;spring Bean的作用域,spring处理线程并发问题

文章目录 Spring Beans请解释Spring Bean的生命周期解释Spring支持的几种bean的作用域Spring容器中的bean可以分为5个范围: Spring如何处理线程并发问题? 在现在的项目开发中经常使用到spring bean,那么来谈谈spring bean的生命周期&#xff…

APP软件线上排查方法

在线上环境中排查APP软件的问题是一项关键任务,需要使用一系列方法和工具来识别、定位和解决问题。以下是一些建议的排查方法,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.监控和日志…