国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

手把手教你搞定四類數(shù)據(jù)清洗操作

大數(shù)據(jù) 數(shù)據(jù)分析
本文介紹數(shù)據(jù)清洗的相關(guān)內(nèi)容,主要涉及缺失值清洗、格式內(nèi)容清洗、邏輯錯誤清洗和維度相關(guān)性檢查四個方面。

一、 缺失值清洗

相信大家都聽說過這樣一句話:廢料進、廢品出(Garbage in, Garbage out)。如果模型基于錯誤的、無意義的數(shù)據(jù)建立,那么這個模型也會出錯。因此,如果源數(shù)據(jù)帶有缺失值(NaN),就需要在數(shù)據(jù)預(yù)處理中進行清洗。缺失值是最常見的數(shù)據(jù)問題,有很多處理缺失值的方法,一般均按照以下四個步驟進行。

1. 確定缺失值范圍

具體代碼如下:

# 檢查數(shù)據(jù)缺失情況
def check_missing_data(df):
return df.isnull().sum().sort_values(ascending = False)
check_missing_data(rawdata)
Income 1
Age 1
Online Shopper 0
Region 0
dtype: int64

對每個字段都計算其缺失值比例后,按照缺失比例和字段重要性,分別制定相應(yīng)的解決策略,可用圖3-6表示。

▲圖3-6 缺失值應(yīng)對策略

圖3-6看似明確了不同情況的應(yīng)對策略,但在實際應(yīng)用中對特征的重要性判斷非常復雜,通常需要到模型中去判斷。對數(shù)據(jù)庫進行研究并對所需解決的問題進行分析,可確定哪些特征屬于重要特征,哪些特征可以省去或者刪掉。

比如我們很難對每個數(shù)據(jù)的ID(獨特編碼)進行補全,在有的情境下這些信息是必要信息,不能夠缺失,而在有的情境下卻根本不需要這類信息。

比如我們有一組網(wǎng)購記錄信息,其中包括每個用戶在不同時間段的操作。當我們希望對每個用戶進行分析的時候,用戶名(UserID)就是不可或缺的,那么缺失用戶名的數(shù)據(jù)很可能需要被清除。但如果我們不需要精確到對個人行為進行分析,那么用戶名就沒那么必要了。

所以在缺失值補全的操作前,探索數(shù)據(jù)和深入了解數(shù)據(jù)庫是必要的。我們必須清楚每個變量所代表的含義,以及分析的問題可能關(guān)聯(lián)的數(shù)據(jù)。在一個非常復雜的數(shù)據(jù)庫中,在解決某個實際問題時,通常不需要所有的變量參與運算。

2. 去除不需要的字段

本步驟將減少數(shù)據(jù)維度,剔除一些明顯與數(shù)據(jù)分析任務(wù)不匹配的數(shù)據(jù),讓與任務(wù)相關(guān)的數(shù)據(jù)更為突出。注意,最好不要更改原始數(shù)據(jù),只是在下一步處理前提取出用于分析的數(shù)據(jù)。

同時這一步需要考慮之前缺失值的情況,保留對于有些缺失值占比不大或者通過其他信息可以進行推斷的特征,去除缺失量太多的數(shù)據(jù)行或列。對于新手,強烈建議在清洗的過程中每做一步都備份一下,或者在小規(guī)模數(shù)據(jù)上試驗成功后再處理全量數(shù)據(jù),節(jié)約時間,也充分留足撤銷操作的余地。

3. 填充缺失內(nèi)容

具體代碼如下:

test1 = rawdata.copy()# 將更改前的數(shù)據(jù)進行備份
test1 = test1.head(3)# 提取前三行進行測試
test1 = test1.dropna()# 去除數(shù)據(jù)中有缺失值的行
print(test1)
test1
name toy born
0 Andy NaN NaN
1 Cindy Gun 1998-12-25
2 Wendy Gum NaN
test1 = test1.dropna(axis=0)# 去除數(shù)據(jù)中有缺失值的行
name toy born
1 Cindy Gun 1998-12-25
test1 = test1.dropna(axis='columns')# 去除數(shù)據(jù)中有缺失值的列
name
0 Andy
1 Cindy
2 Wendy
test1 = test1.dropna(how='all')# 去除數(shù)據(jù)完全缺失的行
test1 = test1.dropna(thresh=2)# 保留行中至少有兩個值的行
test1 = test1.dropna(how='any')# 去除數(shù)據(jù)中含有缺失值的行
test1 = test1.dropna(how='any',subset=['toy'])# 去除toy列中含有缺失值的行
test1.dropna(inplace=True)# 在這個變量名中直接保存結(jié)果

在實際應(yīng)用中,第2步和第3步的操作通常協(xié)同進行,在判斷完維度相關(guān)性與重要性后,對想要保留的維度進行填充,最后對數(shù)據(jù)行進行必要的清洗,以避免可進行填充的有效字段在清洗時被剔除。

1)以同一指標的計算結(jié)果(均值、中位數(shù)、眾數(shù)等)填充缺失值。代碼如下:

test1 = test1.fillna(test1.mean())# 用均值填充缺失值
test1 = test1.fillna(test1.median())# 用中位數(shù)填充缺失值
test1 = test1.fillna(test1.mode())# 用眾數(shù)填充缺失值

2)通過找尋帶有缺失值的變量與其他數(shù)據(jù)完整的變量之間的關(guān)系進行建模,使用計算結(jié)果進行填充(這一方法較為復雜,而且結(jié)果質(zhì)量可能參差不齊,可在后期習得數(shù)據(jù)建模技巧后進行嘗試)。

3)以其他變量的計算結(jié)果填充缺失值。舉個最簡單的例子:年齡字段缺失,但是有屏蔽后六位的身份證號信息,那么就可以輕松找出出生年月,算出目前年齡。

4)以業(yè)務(wù)知識或經(jīng)驗推測填充缺失值。

4. 重新取數(shù)

如果某些變量非常重要同時缺失率高,那就需要和取數(shù)人員或業(yè)務(wù)人員進行溝通,了解是否有其他渠道可以取到相關(guān)數(shù)據(jù)。

繼續(xù)以Income_n_onlineshopping為例介紹,如圖3-7所示。

▲圖3-7 查看數(shù)據(jù)是否存在缺失值

統(tǒng)計各列的缺失值情況,結(jié)果如圖3-8所示。

dataset.isna().sum()          # 統(tǒng)計各列缺失值情況

▲圖3-8 統(tǒng)計數(shù)據(jù)缺失值個數(shù)

從圖3-7可以看出,這10行數(shù)據(jù)中第4行和第6行的部分值顯示為NaN,也就是數(shù)據(jù)發(fā)生缺失。有時數(shù)據(jù)本身可能并不是在缺失值位置上留空,而是用0對空缺位置進行填充,根據(jù)對數(shù)據(jù)的理解我們也可以分辨出是否需要對0值數(shù)據(jù)進行統(tǒng)計和轉(zhuǎn)換。

由于數(shù)值缺失占比較少,我們可以通過計算填補空缺,這里我們采用平均值填充。

# 設(shè)定填充方式為平均值填充
imputer = SimpleImputer(missing_values=np.nan, strategy='mean')
# 選取目標列
imputer = imputer.fit(rawdata.iloc[:,1:3])
# 對計算結(jié)果進行填充
rawdata.iloc[:,1:3] = imputer.transform(rawdata.iloc[:,1:3])
# 調(diào)整數(shù)據(jù)
rawdata.iloc[:,1:3] = rawdata.iloc[:,1:3].round(0).astype(int)

二、 格式內(nèi)容清洗

如果數(shù)據(jù)是由系統(tǒng)日志而來的,那么通常會在格式和內(nèi)容方面與元數(shù)據(jù)的描述保持一致。而如果數(shù)據(jù)是由人工收集或用戶填寫而來的,則有很大可能會在格式和內(nèi)容上存在問題。簡單來說,格式和內(nèi)容的問題有以下幾類。

1. 時間、日期、數(shù)值、全半角等格式不一致

這種問題通常與輸入端有關(guān),在整合多來源數(shù)據(jù)時也有可能遇到,將其處理成一致的格式即可。

2. 數(shù)據(jù)值含有“非法”字符

字段中的值通常是有范圍的,有些字符不適合出現(xiàn)在某些字段中,比如:

身份證號必須是數(shù)字+字母。

中國人姓名只能為漢字(李A(yù)、張C這種情況是少數(shù))。

出現(xiàn)在頭、尾、中間的空格。

解決這類問題時,需要以半自動校驗半人工方式來找出可能存在的問題,并去除不合適的字符。

3. 數(shù)據(jù)值與該字段應(yīng)有內(nèi)容不符

例如,姓名欄填了性別、身份證號中寫了手機號等。這類問題的特殊性在于不能簡單地以刪除方式來處理,因為有可能是人工填寫錯誤,前端沒有校驗,或者導入數(shù)據(jù)時部分或全部存在列沒有對齊導致,需要具體識別問題類型后再有針對性地解決。

格式內(nèi)容出錯是非常細節(jié)的問題,但很多分析失誤都是源于此問題。比如跨表關(guān)聯(lián)失敗,是因為多個空格導致關(guān)鍵字段進行交集運算時認為“劉翔”和“劉 翔”不是一個人;統(tǒng)計值不全,是因為數(shù)字里摻個字母在之后求和時發(fā)生問題;模型輸出失敗或效果不好,是因為數(shù)據(jù)對錯列了,把日期和年齡混了等。

因此,在進行這一步時,需要仔細檢查數(shù)據(jù)格式和內(nèi)容,特別是當數(shù)據(jù)源自用戶手工填寫且校驗機制不完善時。

三 、邏輯錯誤清洗

這一步工作的目的是去掉一些使用簡單邏輯推理就可以直接發(fā)現(xiàn)問題的數(shù)據(jù),防止由此導致分析結(jié)果偏差。邏輯錯誤清洗主要包含以下幾個步驟。

1. 去重

由于格式不同,原本重復的數(shù)據(jù)被認為并非重復而沒能成功剔除,比如由于空格導致算法認為“劉翔”和“劉 翔”不是一個人,去重失敗。由于重名的情況很常見,即使中間空格被去掉后兩條數(shù)據(jù)的值一致,也很難直接決定將第二條數(shù)據(jù)刪除,這時就需要比較其他字段的值。

還有由于關(guān)鍵字值輸入時發(fā)生錯誤導致原本一致的信息被重復錄入,也需要借助其他字段對內(nèi)容進行查重。比如“ABC銀行”與“ABC銀行”,單看名字可以看出這兩條信息大概率是重復的,但只有對比其他信息才能確保去重的正確性,比如對比兩家公司的電話與地址是否完全相同。如果數(shù)據(jù)不是人工錄入的,那么簡單去重即可。

2. 去除不合理值

如果字段內(nèi)取值超過合理范圍,比如“年齡:180歲;籍貫:火星”,則這種數(shù)據(jù)要么刪掉,要么按缺失值處理。當然最好的做法是在前期收集這種字段的數(shù)據(jù)時讓用戶在有限范圍內(nèi)進行選取,以避免此情況出現(xiàn)。可以通過異常值查找去除不合理值。

3. 修正矛盾內(nèi)容

有時我們擁有多個包含相同信息的維度特征,這時就可以進行交叉驗證,修復矛盾內(nèi)容。比如一個隱去后六位的身份證號,100000199701XXXXXX,而年齡字段數(shù)據(jù)為18,這顯然是不合理的,由于身份證號可信度更高,所以我們應(yīng)該對年齡字段進行修復。

更好的做法是通過脫敏的身份證號提取出生年月,直接建立新的出生日期字段并用此年齡字段替換用戶手動填寫的年齡字段。

在真實世界中獲取的數(shù)據(jù)常常會包含錯誤信息,有的是人為導致,有的是非人為導致,我們可以通過交叉驗證及時發(fā)現(xiàn)并修復矛盾內(nèi)容,為后期建模提供更高質(zhì)量的數(shù)據(jù)信息。

四 、維度相關(guān)性檢查

當數(shù)據(jù)庫中有多個變量時,我們需要考慮變量之間的相互聯(lián)系,而相關(guān)性就是用來表示定性變量或定量變量之間關(guān)系的。相關(guān)性研究可以幫助我們了解變量之間的關(guān)聯(lián)性。比如:

  • 每日食品中卡路里攝入量跟體重很有可能有較大的相關(guān)性;
  • 子女和父母血型之間具有高關(guān)聯(lián)性;
  • 學習的時間長度和考試成績通常也有高關(guān)聯(lián)性。

1)檢查數(shù)據(jù)相關(guān)性:

rawdata.corr() # 相關(guān)性矩陣

結(jié)果如圖3-9所示。

▲圖3-9 相關(guān)性矩陣

2)檢查數(shù)據(jù)協(xié)方差:

rawdata.cov()      # 協(xié)方差矩陣

結(jié)果如圖3-10所示。

▲圖3-10 協(xié)方差矩陣

關(guān)于作者:劉鵬,教授,清華大學博士,云計算、大數(shù)據(jù)和人工智能領(lǐng)域的知名專家,南京云創(chuàng)大數(shù)據(jù)科技股份有限公司總裁、中國大數(shù)據(jù)應(yīng)用聯(lián)盟人工智能專家委員會主任。中國電子學會云計算專家委員會云存儲組組長、工業(yè)和信息化部云計算研究中心專家。

高中強,人工智能與大數(shù)據(jù)領(lǐng)域技術(shù)專家,有非常深厚的積累,擅長機器學習和自然語言處理,尤其是深度學習,熟悉Tensorflow、PyTorch等深度學習開發(fā)框架。曾獲“2019年全國大學生數(shù)學建模優(yōu)秀命題人獎”。參與鐘南山院士指導新型冠狀病毒人工智能預(yù)測系統(tǒng)研發(fā)項目,與鐘南山院士團隊共同發(fā)表學術(shù)論文。

本文摘編自《Python金融數(shù)據(jù)挖掘與分析實戰(zhàn)》,經(jīng)出版方授權(quán)發(fā)布。(ISBN:9787111696506)

責任編輯:武曉燕 來源: 大數(shù)據(jù)DT
相關(guān)推薦

2018-03-23 20:45:23

機器學習NLP文本數(shù)據(jù)

2021-07-01 09:31:50

MySQL SQL 語句數(shù)據(jù)庫

2020-12-08 10:32:15

Python郵件tcp

2025-05-07 00:31:30

2011-05-03 15:59:00

黑盒打印機

2011-01-10 14:41:26

2021-07-14 09:00:00

JavaFX開發(fā)應(yīng)用

2010-08-09 09:25:23

SQL Server鏡

2021-09-30 18:27:38

數(shù)據(jù)倉庫ETL

2020-12-07 09:01:58

冪等系統(tǒng)f(f(x)) =f(

2009-10-27 16:05:52

VB.NET File

2020-10-21 08:05:45

Scrapy

2009-07-19 15:02:56

2011-02-22 13:46:27

微軟SQL.NET

2021-02-26 11:54:38

MyBatis 插件接口

2021-12-28 08:38:26

Linux 中斷喚醒系統(tǒng)Linux 系統(tǒng)

2022-03-14 14:47:21

HarmonyOS操作系統(tǒng)鴻蒙

2022-01-08 20:04:20

攔截系統(tǒng)調(diào)用

2023-04-26 12:46:43

DockerSpringKubernetes

2022-12-07 08:42:35

點贊
收藏

51CTO技術(shù)棧公眾號

久久国产视频网| 欧美大胆性生话| 日韩av高清在线观看| 亚洲欧美日韩一区二区在线| 麻豆一区区三区四区产品精品蜜桃| 黄页网站在线观看| 99热这里只有成人精品国产| 日韩美女av在线| 欧美美女黄色网| 欧美jizz19性欧美| 欧美三级视频在线| 欧美性xxxxx极品娇小| 毛片一区二区三区四区| 久久亚洲精品伦理| 国产精品一区久久久| 色悠久久久久综合先锋影音下载| 日韩经典中文字幕| 97影院秋霞午夜在线观看| 色哦色哦哦色天天综合| 污网站在线看| 日本精品一区二区三区高清 | 91午夜理伦私人影院| 91精品短视频| 欧美成人免费在线观看| 国产精品麻豆成人av电影艾秋| 亚洲第一区中文字幕| 91极品在线| 亚洲精品福利资源站| 性欧美18~19sex高清播放| 亚洲精品久久久久| 91成人在线| 色中色综合影院手机版在线观看| 欧洲精品99毛片免费高清观看 | 欧美一级电影久久| 亚州国产精品| 国产精品亚洲一区二区三区| 成人羞羞在线观看网站| 96精品久久久久中文字幕| 亚洲xxx拳头交| 欧美污视频久久久| 国产精品一区久久久久| 精品国偷自产一区二区三区| www欧美成人18+| 99999色| 亚洲在线视频网站| 69久久夜色| 亚洲精品视频二区| 豆花视频一区二区| www.久久艹| 久久电影国产免费久久电影| www.xxx麻豆| 亚洲成人精品一区二区| dj大片免费在线观看| 亚洲欧洲国产一区| 国产日产精品_国产精品毛片| 国产在线精品一区| a级精品国产片在线观看| 中文乱码字幕高清在线观看| 日韩一区二区三区在线视频| 中文字幕日韩亚洲| 91pron在线| 国产成人免费视频网站高清观看视频| 99re精彩视频| 欧美一级爆毛片| 精品精品国产三级a∨在线| 成人免费视频视频在| 国产精品综合一区二区三区| 福利片免费在线观看| 7777精品伊人久久久大香线蕉超级流畅| 日韩av大片站长工具| 日本中文字幕久久看| 亚洲免费婷婷| 黄色手机在线视频| 日韩女优av电影在线观看| 澳门成人av| 亚洲国产成人不卡| 亚洲精品久久嫩草网站秘色| 在线观看h网| 国产成人精品一区| 国产福利一区二区三区在线视频| 国产一级激情| 国产亚洲精品综合一区91| 五月精品视频| 男女av免费观看| 精品噜噜噜噜久久久久久久久试看 | 91丝袜美腿高跟国产极品老师 | 久久久久久久综合狠狠综合| a视频网址在线观看| 日韩在线观看免费网站| 国产精品第十页| 免费在线观看羞羞视频| 亚洲国产精久久久久久久| 欧美精品一二| 日本精品www| 日韩电影中文字幕av| 亚洲精品一区二区在线看| 男女无套免费视频网站动漫| 亚洲第一区第二区| 亚洲麻豆视频| 欧美知名女优| 欧美在线观看网址综合| 成人一区二区三区视频| 国产精品va在线观看视色| 欧美在线影院在线视频| 成人黄色777网| 91色在线看| 国产一区二区三区高清| 亚洲一区二区三区视频在线播放| 国产亚洲欧美日韩精品一区二区三区| 精品一区二区国产| 欧美午夜久久久| 欧美在线观看视频一区| 国产精品天天av精麻传媒| 日韩av在线网页| 日本欧美韩国一区三区| 国产精品免费观看| 国产日韩欧美在线看| 中文字幕日本不卡| 久久三级中文| 久久9精品区-无套内射无码| 一本色道久久综合狠狠躁篇怎么玩 | 国产精品久久久久久久免费观看| 黑人粗进入欧美aaaaa| 亚洲欧美精品suv| 久久99日本精品| 91九色在线看| 宅男一区二区三区| 亚洲热线99精品视频| 国产一区 二区 三区一级| 91九色在线播放| 日韩不卡一二区| 国产亚洲精品va在线观看| 国产99一区视频免费| 日本一道高清亚洲日美韩| 日韩一二区视频| 最近中文字幕日韩精品 | 精品视频一区二区三区在线观看| 黄色录像特级片| 亚洲精品自产拍| 国产成人一区在线| 88xx成人网| 日本老熟妇毛茸茸| 2021久久精品国产99国产精品| 自拍偷拍亚洲欧美日韩| 国内成人自拍| 国产二区视频在线观看| 久久久久久99| 亚洲精品久久久久久久久| 成人三级伦理片| 91成人午夜| 在线观影网站| 久久本道综合色狠狠五月| 亚洲精品福利资源站| av激情综合网| 亚洲毛片免费看| 韩国三级av在线免费观看| 久久久久综合一区二区三区| 精品国产亚洲一区二区三区在线观看| 热久久一区二区| 91成人小视频| 日本一本视频| 国产美女在线精品免费观看| 精品区一区二区| 久久奇米777| 97久久视频| 影音先锋男人资源在线| 免费av手机在线观看| 97超级碰碰碰久久久| 日本高清无吗v一区| 美腿丝袜亚洲综合| ccyy激情综合| 国产区视频在线播放| 精品一区二区成人免费视频 | 狠狠色综合色区| 亚洲成人精品久久| 国产日本亚洲高清| 一区二区影视| gay欧美网站| 原千岁中文字幕| 少妇特黄a一区二区三区| yw.139尤物在线精品视频| 亚洲国产一二三| 另类中文字幕网| 国产成人精品一区二区免费看京 | 亚洲一区二区三区在线免费| 在线国产网址| 成人一区二区av| 国产精品极品尤物在线观看| 精品少妇一区二区三区日产乱码 | 99色这里只有精品| 亚洲淫片在线视频| 色噜噜久久综合伊人一本| 亚洲成人免费影院| 国产成人在线影院| 国产欧美高清在线| 特级毛片在线免费观看| 亚洲精品自拍偷拍| 亚洲一区二区成人在线观看| 久久99精品国产麻豆婷婷洗澡| 影视先锋久久|