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

news2024/10/5 19:16:12

数据缺失值预处理

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

创建数据集

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

import os

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')

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


展示数据集

通过 pandasread_csv 函数读取 csv 文件,

import pandas as pd

data = 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 torch

X, y = torch.tensor(inputs.values), torch.tensor(outputs.values)

请添加图片描述

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

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

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

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

相关文章

GEE:生成超链接方式下载影像

作者:CSDN @ _养乐多_ 本文将介绍如何使用Google Earth Engine(GEE)平台以生成下载超链接的形式下载遥感数据。 结果如下图所示,只需点击链接,即可下载数据到本地。 文章目录 一、函数详解二、代码示例一、函数详解 用法返回值Image.getDownloadURL(params, callback)Ob…

vue3中引入svg矢量图

vue3中引入svg矢量图 1、前言2、安装SVG依赖插件3、在vite.config.ts 中配置插件4、main.ts入口文件导入5、使用svg5.1 在src/assets/icons文件夹下引入svg矢量图5.2 在src/components目录下创建一个SvgIcon组件5.3 封装成全局组件,在src文件夹下创建plugin/index.t…

(11_23)构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践

作者|柳下 概述 随着企业规模和数据量的增长,数据的价值越来越受到重视。数据的变化和更新变得更加频繁和复杂,因此及时捕获和处理这些变化变得至关重要。为了满足这一需求,数据库 CDC(Change Data Capture&#xff…

Apple Vision Pro 开发机申请

申请地址: (免费租用形式) Developer Kit - visionOS - Apple Developer 上海Apple Lab 互动申请: View - Meet with Apple Experts - Apple Developer (需要完善的产品才能去测试哦) 它是如何工作的 我们将借给你一个Apple Vision Pro开发…

ubuntu下配置qtcreator交叉编译环境

文章目录 安装交叉编译工具安装qt creator开发环境配置交叉编译示例demo参考 安装交叉编译工具 安装qt creator开发环境 1 官网 2 填写信息 3 下载 默认没有出现Qt5.15版本 WISONIC\80081001ub16-1001:~$ /opt/Qt/Tools/QtCreator/bin/qtcreator /opt/Qt/Tools/QtCreat…

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…

SUSE 15.2升级Openssh9.5

SUSE 15.2升级Openssh9.5 公司有部分SAP的机器用的SUSE,懒得弄rpm包了.直接编译安装 1. 添加阿里云源 zypper addrepo -f http://mirrors.aliyun.com/opensuse/distribution/leap/15.2/repo/oss/ openSUSE-15.2-Oss zypper addrepo -f http://mirrors.aliyun.com/opensuse/d…

Qt 软件调试(一) Log日志调试

终于这段时间闲下来了,可以系统的编写Qt软件调试的整个系列。前面零零星星的也有部分输出,但终究没有形成体系。借此机会,做一下系统的总结。慎独、精进~ 日志是有效帮助我们快速定位,找到程序异常点的实用方法。但是好的日志才能…

React + BraftEditor 实现富文本编辑

Braft Editor 是一个基于 React 和 Draft-js 开发的富文本编辑器,提供了丰富的基础功能,如基本文本格式化、列表、链接、图片上传、视频插入等,并且还支持扩展。 首先,确保你已经在项目中安装了 Braft Editor 和它的依赖项&#x…

量子计算突破云渲染资源调度!真机测试完整报告公开!

​摘要:在影视领域中,经常会涉及大量的视频图像渲染工作,而往往在这种大规模、动态渲染场景下,普遍存在着冗余渲染现象。究其原因在于大规模的图像渲染通常要求在短时间内做出渲染任务的算力分配决策,而经典计算机无法…

基于springboot实现班级综合测评管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现班级综合测评管理系统演示 摘要 随着互联网技术的高速发展,人们生活的各方面都受到互联网技术的影响。现在人们可以通过互联网技术就能实现不出家门就可以通过网络进行系统管理,交易等,而且过程简单、快捷。同样的&#x…

【shell】脚本实现将开发机user1账户下的abc文件夹复制到user2~4账户下

1 主要内容 可以使用Shell脚本来实现将开发机(Linux)上user1账户下的abc文件夹复制到user2、user3和user4账户下。 #!/bin/bash# 数组赋值,目标用户列表 # target_users(user2 user3 user4) # 定义数组 target_users()# 生成user数字的数组…

渲染农场渲染一分钟动画需要多少钱?需要渲染多少时间?

现在很公司都开始使用渲染农场渲染动画,但是还是有很多人不知道渲染农场渲染动画需要多少钱,需要渲染多少时间。在这篇文章中我们将为你一一解答,为你提供一个清晰的参考。 渲染农场的收费通常是按照渲染的使用时间收费,渲染十分…

【C/C++】素数专题

素数专题 1.判断素数模板2.求范围内的素数&#xff08;101-200&#xff09;3.判断素数与分解 1.判断素数模板 #include<stdio.h> #include<math.h>int prism(int n){if(n1) return 0;for(int i2;i<sqrt(n);i){if(n%i0) return 0;}return 1; }int main() {int n…

销售管理系统怎么选择?

销售管理系统能够帮助企业更好的了解客户、洞察市场趋势是企业管理中常见的工具&#xff0c;如何选择销售管理系统&#xff1f;可以考察销售管理系统功能是否完整、稳定性以及CRM系统是否易上手。 1.功能是否完整 功能完整是销售管理系统的首要条件&#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命…

vue2中使用echarts

1,安装echarts npm install --save echarts 2&#xff0c;具体页面 <template><div class"app-container"><div class"aa" id"main" style"width: 500px; height: 400px;"></div></div> </te…

北邮22级信通院数电:Verilog-FPGA(11)第十一周实验(1)用JK触发器实现8421码十进制计数器

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 1.1 JK_8421.v 1.2 JK_ff.v …

Rt-Thread 移植8--定时器的实现(KF32)

1 思路 之前线程需要延时的时候&#xff0c;就初始化remaining_tick&#xff0c;只是将线程就绪优先级组中对应的位清0&#xff0c;并不会将线程从就绪列表中删除。每次systick中断&#xff0c;就remaining_tick递减&#xff0c;如果为0表示延时时间到&#xff0c;将该线程就绪…

SSM教材管理系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 教材管理系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开…