接著上一篇:《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)-數(shù)據(jù)探索》介紹有滑,機(jī)器學(xué)習(xí)更多內(nèi)容可以關(guān)注github項(xiàng)目:machine learning
《機(jī)器學(xué)習(xí)實(shí)戰(zhàn)-數(shù)據(jù)探索》介紹了1娄琉、變量識(shí)別往果;2、單變量分析喂柒;3不瓶、雙變量分析禾嫉,現(xiàn)在接著介紹缺失值處理。
為什么需要處理缺失值呢蚊丐?
訓(xùn)練數(shù)據(jù)集中缺少的數(shù)據(jù)可以減少模型的擬合熙参,或者可能導(dǎo)致模型偏差,因?yàn)闆](méi)有正確地分析變量的行為和關(guān)系麦备,可能導(dǎo)致錯(cuò)誤的預(yù)測(cè)或分類孽椰。
注意上圖中缺失值:在左側(cè)的情況下,沒(méi)有處理缺失值凛篙, 男性打板球的機(jī)會(huì)高于女性黍匾。 另一方面,如果看看第二個(gè)表呛梆,其中顯示了處理缺失值后的數(shù)據(jù)(基于性別)锐涯,我們可以看到女性與男性相比有較高的打板球的機(jī)會(huì)。
為什么會(huì)有缺失值呢填物?
前面說(shuō)明了在數(shù)據(jù)集中處理缺失值的重要性纹腌, 現(xiàn)在來(lái)確定發(fā)生這些缺失值的原因,主要有以下兩個(gè)階段:
數(shù)據(jù)提戎突恰(Data Extraction)
提取過(guò)程可能有問(wèn)題升薯,在這種情況下,應(yīng)該使用數(shù)據(jù)監(jiān)護(hù)檢查數(shù)據(jù)的準(zhǔn)確性击困, 一些散列程序也可以用來(lái)確保數(shù)據(jù)提取的正確性涎劈,比較容易糾正(數(shù)據(jù)提取主要在NLP或者圖像鄰域,我現(xiàn)在理解不到位阅茶,后面補(bǔ)充)蛛枚。
數(shù)據(jù)采集(Data collection)
數(shù)據(jù)采集時(shí)發(fā)生的錯(cuò)誤,很難糾正目派,主要分為以下四種:
- Missing completely at random
即所有觀測(cè)值的缺失變量的概率相同坤候。
例如:數(shù)據(jù)收集過(guò)程的受訪者決定在拋出一個(gè)硬幣后胁赢,宣布他們的收入企蹭。 如果發(fā)生,受訪者宣布他的收入智末,反之亦然谅摄,這樣,每個(gè)觀察值系馆,具有相同概率的缺失值送漠。 - Missing at random
即隨機(jī)丟失變量概率,因其他輸入變量的不同值或類別而變化由蘑。
例如:我們收集年齡闽寡,女性相比男性代兵,具有較高的缺失值。 - 缺失值依賴于不可觀察的預(yù)測(cè)變量
即缺失值不是隨機(jī)的并且與未查看的輸入變量相關(guān)爷狈。
例如:在一項(xiàng)醫(yī)學(xué)研究中植影,如果特定診斷導(dǎo)致不適,那么研究中有更多的輟學(xué)機(jī)會(huì)涎永。 這個(gè)缺失值不是隨機(jī)的思币,除非我們將“不適”作為所有患者的輸入變量。 - 缺失取決于缺失值本身
即缺失值的概率與缺失值本身直接相關(guān)羡微。
例如:擁有較高或較低收入的人士谷饿,可能讓其提供收入證明,有些不愿意妈倔。
缺失值有哪些處理方法呢博投?
刪除
- 整條記錄刪除(list wise deletion)
刪除任何變量丟失的觀察結(jié)果,這種方法的主要優(yōu)點(diǎn)之一是簡(jiǎn)單盯蝴,但是這種方法降低了模型的準(zhǔn)確性贬堵,因?yàn)樗鼫p少了樣本大小。 - 刪除對(duì)應(yīng)的缺失值(In pair wise deletion)
這種方法的優(yōu)點(diǎn)是结洼,它保留了許多可用于分析的情況黎做,缺點(diǎn)之一是對(duì)不同的變量使用不同的樣本大小。 - 當(dāng)缺失值為
Missing completely at random
松忍,使用刪除方法蒸殿,否則可能會(huì)偏離模型輸出。
Mean/ Mode/ Median估計(jì)
目標(biāo)是使用可以在數(shù)據(jù)集的有效值中識(shí)別的已知關(guān)系來(lái)輔助估計(jì)缺失值鸣峭。 Mean/Mode/Median是最常用的方法之一宏所,包括通過(guò)該變量的所有已知值的mean或Median(定量屬性)或Mode(定性屬性)來(lái)替換給定屬性的缺失數(shù)據(jù),有以下兩種方式:
- 廣義插補(bǔ)(Generalized Imputation)
在這種情況下摊溶,我們計(jì)算該變量的所有非缺失值的mean或Median爬骤,然后用Mean或Median替換缺失值。 如上表所示莫换,變量“人力”缺失值霞玄,取所有非缺失值的平均值(28.33)替換缺失值。 - 相似插補(bǔ)(Similar case Imputation)
如上表拉岁,分別計(jì)算性別“男性”(29.75)和“女性”(25)的平均值坷剧,然后根據(jù)性別替換缺失值,對(duì)于“男”的喊暖,以29.75代替缺失值惫企,“女”的以“25”代替。 - 如果missing value占總體的比例非常小陵叽,那么直接填入Mean狞尔、Mode或者M(jìn)edian
預(yù)測(cè)模型(Prediction Model)
預(yù)測(cè)模型是處理缺失值的復(fù)雜方法之一丛版, 通過(guò)創(chuàng)建一個(gè)預(yù)測(cè)模型來(lái)估計(jì)替代缺失值。 在這種情況下偏序,我們將數(shù)據(jù)集分為兩組:一組沒(méi)有變量的缺失值硼婿,另一組有缺少值, 第一個(gè)數(shù)據(jù)集成為模型的訓(xùn)練數(shù)據(jù)集禽车,而具有缺失值的第二個(gè)數(shù)據(jù)集是測(cè)試數(shù)據(jù)集寇漫,變量與缺失值被視為目標(biāo)變量。 接下來(lái)殉摔,我們創(chuàng)建一個(gè)模型州胳,根據(jù)訓(xùn)練數(shù)據(jù)集的其他屬性預(yù)測(cè)目標(biāo)變量,并填充測(cè)試數(shù)據(jù)集的缺失值逸月。我們可以使用回歸栓撞,方差分析,邏輯回歸和各種建模技術(shù)來(lái)執(zhí)行此操作碗硬。 這種方法有兩個(gè)缺點(diǎn):
- 模型估計(jì)值通常比真實(shí)值更好
- 如果與數(shù)據(jù)集中的屬性和缺少值的屬性沒(méi)有關(guān)系瓤湘,則該模型對(duì)于估計(jì)缺失值將不精確。
如果missing value所占比例不算小也不算大時(shí)恩尾,采用該方法弛说。
KNN
此方法使用與值丟失的屬性最相似的屬性來(lái)估計(jì)屬性的缺失值,通過(guò)距離函數(shù)確定兩個(gè)屬性的相似度翰意。 具有如下優(yōu)點(diǎn)和缺點(diǎn):
優(yōu)點(diǎn):
KNN可以預(yù)測(cè)定性和定量屬性
不需要為缺少數(shù)據(jù)的每個(gè)屬性創(chuàng)建預(yù)測(cè)模型
具有多個(gè)缺失值的屬性可以輕松處理
數(shù)據(jù)的相關(guān)結(jié)構(gòu)被考慮在內(nèi)
缺點(diǎn):
KNN算法在分析大數(shù)據(jù)方面非常耗時(shí), 搜索所有數(shù)據(jù)集木人,尋找最相似的實(shí)例。
k值的選擇是非常關(guān)鍵的冀偶。 k較高脫顯不了顯著性屬性醒第,而較低的k會(huì)丟失重要屬性。
注意: 如果missing value所占比例大进鸠,那么直接將miss value當(dāng)做一種特殊的情況稠曼,另取一個(gè)值填入
處理缺失值后,下一篇介紹異常值處理客年。
參考
https://www.analyticsvidhya.com/blog/2016/01/guide-data-exploration/