【深度學習】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.pswp.cn/news/166869.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166869.shtml
英文地址,請注明出處:http://en.pswp.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…