|
一鍵注冊(cè),加入手機(jī)圈
您需要 登錄 才可以下載或查看,沒(méi)有帳號(hào)?立即注冊(cè)
x
在經(jīng)過(guò)前文序篇,和簡(jiǎn)單的EDA(工具)后,我們開(kāi)始對(duì)數(shù)據(jù)做進(jìn)一步處理——數(shù)據(jù)清洗:看一下數(shù)據(jù)清洗(Data cleaning)定義:
對(duì)數(shù)據(jù)進(jìn)行重新審查和校驗(yàn)的過(guò)程,目的在于刪除重復(fù)信息、糾正存在的錯(cuò)誤,并提供數(shù)據(jù)一致性 其實(shí)這里面就包含了上一節(jié)中提到的的五個(gè)問(wèn)題中找出異常數(shù)據(jù),并處理缺失值或者不平衡值,統(tǒng)一成數(shù)據(jù)為數(shù)值型(一致性)等問(wèn)題。首先我們回顧一下數(shù)據(jù)變量類型分為Numerical(數(shù)值數(shù)據(jù))和 Categorical(分類數(shù)據(jù))。
在這道題目中的數(shù)據(jù),(很多已經(jīng)做好脫敏轉(zhuǎn)換成了數(shù)值數(shù)據(jù))我總結(jié)了一個(gè)很好的步驟(checklist)來(lái)做數(shù)據(jù)清洗:
1.載入各種數(shù)據(jù)科學(xué)以及可視化庫(kù);2.載入數(shù)據(jù):(載入訓(xùn)練集和測(cè)試集:(簡(jiǎn)略觀察數(shù)據(jù)(head()+shape)));3.數(shù)據(jù)總覽:(通過(guò)describe()來(lái)熟悉數(shù)據(jù)的相關(guān)統(tǒng)計(jì)量;通過(guò)info()來(lái)熟悉數(shù)據(jù)類型);4.判斷數(shù)據(jù)缺失和異常(查看每列的存在Nan情況;異常值檢測(cè),注意:在這之前一定要將所有數(shù)據(jù)數(shù)值化)5.了解預(yù)測(cè)值的分布:(總體分布概況(無(wú)界約翰遜分布等);查看skewness and kurtosis;類別特征箱形圖可視化;查看預(yù)測(cè)值的具體頻數(shù))6.特征分為類別特征和數(shù)字特征(對(duì)這些特征進(jìn)行探索):(6.1并對(duì)類別特征查看unique分布;類別特征的小提琴圖可視化;類別特征的柱形圖可視化類別;特征的每個(gè)類別頻數(shù)可視化(count_plot);6.2.數(shù)字特征分析:相關(guān)性分析;查看特征的偏度和峰值;每個(gè)數(shù)字特征的分布可視化;數(shù)字特征相互之間的關(guān)系可視化;多變量互相回歸關(guān)系可視化)7. 直接用pandas_profiling生成數(shù)據(jù)報(bào)告 這是對(duì)代碼的文字總結(jié)部分,看一下真正的結(jié)果和我實(shí)驗(yàn)做得代碼部分吧,知乎內(nèi)容有限我上傳了代碼附件作為記錄,記錄幾個(gè)問(wèn)題的思考。
我們一般會(huì)拿偏度和峰度來(lái)看數(shù)據(jù)的分布形態(tài),而且一般會(huì)跟正態(tài)分布做比較,我們把正態(tài)分布的偏度和峰度都看做零。如果我們?cè)趯?shí)操中,算到偏度峰度不為0,即表明變量存在左偏右偏,或者是高頂平頂這么一說(shuō)。偏度(Skewness)和峰度(Kurtosis)
Definition:偏度是描述數(shù)據(jù)分布形態(tài)的統(tǒng)計(jì)量,其描述的是某總體取值分布的對(duì)稱性,簡(jiǎn)單來(lái)說(shuō)就是數(shù)據(jù)的不對(duì)稱程度。Definition:峰度是描述某變量所有取值分布形態(tài)陡緩程度的統(tǒng)計(jì)量,簡(jiǎn)單來(lái)說(shuō)就是數(shù)據(jù)分布頂?shù)?strong>尖銳程度。
偏度是三階中心距計(jì)算出來(lái)的。
(1)Skewness = 0 ,分布形態(tài)與正態(tài)分布偏度相同。
(2)Skewness > 0 ,正偏差數(shù)值較大,為正偏或右偏。長(zhǎng)尾巴拖在右邊,數(shù)據(jù)右端有較多的極端值。
(3)Skewness < 0 ,負(fù)偏差數(shù)值較大,為負(fù)偏或左偏。長(zhǎng)尾巴拖在左邊,數(shù)據(jù)左端有較多的極端值。
(4)數(shù)值的絕對(duì)值越大,表明數(shù)據(jù)分布越不對(duì)稱,偏斜程度大。
| Skewness| 越大,分布形態(tài)偏移程度越大。
峰度是四階標(biāo)準(zhǔn)矩計(jì)算出來(lái)的。
(1)Kurtosis=0 與正態(tài)分布的陡緩程度相同。
(2)Kurtosis>0 比正態(tài)分布的高峰更加陡峭——尖頂峰
(3)Kurtosis<0 比正態(tài)分布的高峰來(lái)得平臺(tái)——平頂峰 然后需要注意的步驟有一點(diǎn)要對(duì)預(yù)測(cè)值的分布有一定的了解,當(dāng)遇到不平衡使,可以使用log變換這樣的trick去做處理
還有像這次比賽的特征是已經(jīng)label coding好的特征,就是全是數(shù)字化特征了,類別特征都已經(jīng)處理好了,所以這次需要人工把他們定義出來(lái)兩類即數(shù)字特征和類別特征
箱形圖用來(lái)看異常值,觀察離群點(diǎn);散點(diǎn)圖用來(lái)觀察是否存在線性關(guān)系
以上記錄都是對(duì)數(shù)據(jù)清洗的一些方法的記錄和使用方法,接下來(lái)總體總結(jié)一下,數(shù)據(jù)清洗可以主要分為三類,并介紹常用方法:
目的:提高數(shù)據(jù)質(zhì)量,降低算法用錯(cuò)誤數(shù)據(jù)建模的風(fēng)險(xiǎn)。
- 特征變換:模型無(wú)法處理或不適合處理 a) 定性變量編碼:Label Encoder;Onehot Encoder;Distribution coding; b) 標(biāo)準(zhǔn)化和歸一化:z分?jǐn)?shù)標(biāo)準(zhǔn)化(標(biāo)準(zhǔn)正太分布)、min-max 歸一化;
- 缺失值處理:增加不確定性,可能會(huì)導(dǎo)致不可靠輸出 a) 不處理:少量樣本缺失; b) 刪除:大量樣本缺失; c) 補(bǔ)全:(同類)均值/中位數(shù)/眾數(shù)補(bǔ)全;高維映射(One-hot);模型預(yù)測(cè);最鄰近補(bǔ)全; 矩陣補(bǔ)全(R-SVD);
- 異常值處理:減少臟數(shù)據(jù) a) 簡(jiǎn)單統(tǒng)計(jì):如 describe() 的統(tǒng)計(jì)描述;散點(diǎn)圖等; b) 3? 法則(正態(tài)分布)/箱型圖截?cái)啵?c) 利用模型進(jìn)行離群點(diǎn)檢測(cè):聚類、K近鄰、One Class SVM、Isolation Forest;
- 其他:刪除無(wú)效列/更改dtypes/刪除列中的字符串/將時(shí)間戳從字符串轉(zhuǎn)換為日期時(shí)間格式等
----------------------------- |
|