【机器学习】机器学习中的缺失值及其填充处理
大多數(shù)機(jī)器學(xué)習(xí)算法不允許目標(biāo)值或特征數(shù)組中存在缺失值。因此,不能簡(jiǎn)單的忽略數(shù)據(jù)中的缺失值,而是要在數(shù)據(jù)預(yù)處理階段解決這個(gè)問(wèn)題。
最簡(jiǎn)單的解決方法是刪除所有含其缺失值的觀察值,用Numpy或Pandas很容易實(shí)現(xiàn)。
即便如此,刪除帶缺失值的觀察值也是一件令人心痛的決定,因?yàn)檫@樣做會(huì)讓算法丟失那些觀察值中那些非缺失值的信息,所以刪除觀察值只能作為最終別無(wú)他法時(shí)不得已的選擇。
還有一點(diǎn)很重要,刪除觀察值可能會(huì)在數(shù)據(jù)中引入偏差,這主要由缺失值的成因決定。
缺失值一共有三種類型:
- 完全隨機(jī)缺失(MCAR)
數(shù)據(jù)缺失的可能性與任何其他東西無(wú)關(guān)。
例如,某個(gè)接受問(wèn)卷調(diào)查的人會(huì)在回答問(wèn)題前先擲一個(gè)骰子,如果擲出了6,那她就跳過(guò)那個(gè)問(wèn)題不做回答。 - 隨機(jī)缺失(MAR)
數(shù)據(jù)缺失的可能性不是完全隨機(jī)的,與已經(jīng)存在的其他特征有關(guān)。
例如,在一次問(wèn)卷調(diào)查中會(huì)問(wèn)及性別和薪資水平,那么接受調(diào)查的女性更可能會(huì)跳過(guò)薪資的問(wèn)題,但她們選擇是否作答要看我們是否已經(jīng)得知其性別信息。 - 完全非隨機(jī)缺失(MNAR)
數(shù)據(jù)缺失的可能性完全是非隨機(jī)的,并且與未在特征中反映出的信息有關(guān)。
例如,一個(gè)問(wèn)卷調(diào)查中會(huì)問(wèn)及薪資水平,那么接受問(wèn)卷調(diào)查的女性更可能會(huì)跳過(guò)薪資的問(wèn)題,但是我們的數(shù)據(jù)中沒(méi)有關(guān)于性別的特征。
如果觀察值是MCAR或者M(jìn)AR,那么有時(shí)候刪除它們是可以接受的。
如果它們是MNAR,那么數(shù)據(jù)缺失本身其實(shí)就是一個(gè)信息。刪除MNAR觀察值會(huì)導(dǎo)致數(shù)據(jù)產(chǎn)生偏差,因?yàn)檫@些觀察值是由未觀察到的系統(tǒng)效應(yīng)產(chǎn)生的。
接下來(lái)說(shuō)說(shuō)缺失值的填充處理策略,主要有兩種,各有利弊。
首先,可以使用機(jī)器學(xué)習(xí)來(lái)預(yù)測(cè)缺失值。為了達(dá)到目的,可以將帶有缺失值的特征當(dāng)作一個(gè)目標(biāo)向量,然后使用剩余的特征來(lái)預(yù)測(cè)缺失值。雖然可以使用各種機(jī)器學(xué)習(xí)算法來(lái)做預(yù)測(cè),但是流行的選擇是KNN,作為一種機(jī)器學(xué)習(xí)算法,KNN使用k個(gè)最臨近的觀察值(根據(jù)某種距離度量算法計(jì)算得到)來(lái)預(yù)測(cè)缺失值。KNN的不足是,為了知道哪些觀察值距離缺失值最近,需要計(jì)算每一個(gè)觀察值與缺失值之間的距離。對(duì)于小數(shù)據(jù)集,這樣處理沒(méi)有問(wèn)題,但是如果數(shù)據(jù)集中有成千上萬(wàn)的觀察值,計(jì)算量將成為一個(gè)很?chē)?yán)重的問(wèn)題。
一個(gè)比較容易擴(kuò)展到大數(shù)據(jù)集的方案是使用平均值來(lái)代替缺失值。盡管這樣做的效果沒(méi)有使用KNN來(lái)得好,但是“平均值填充策略”很容易擴(kuò)展到包含成千上萬(wàn)觀察值的大數(shù)據(jù)集。
最后說(shuō)一下,如果要采用填充策略,最好是創(chuàng)建一個(gè)二元特征來(lái)表明該觀察值是否包含填充值。
總結(jié)
以上是生活随笔為你收集整理的【机器学习】机器学习中的缺失值及其填充处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 去重的Set解不出“斯诺登的密码”(洛谷
- 下一篇: 【计算机科学基础】图灵机原理概述