機器學習模型支援缺失值的那些事兒

2021-09-02 04:01:32 字數 665 閱讀 7558

貝葉斯網路

神經網路模型

之前讀過一些別人的文章,對於有些模型可以支援缺失資料這件事有點印象,最近開始做乙個新的專案,缺失大量的資料,所以就想用這些支援缺失值的模型完成工作。

其實,這個支援並不是說演算法本身就不考慮缺失值了,而是開發這個包的程式設計師幫助你實現了資料預處理,也就是資料填充的工作。

目前我所了解的就是基於樹類的模型、貝葉斯網路、神經網路的模型,下面簡單介紹下。

xgboost處理缺失值的方法和其他樹模型不同,xgboost把缺失值當做稀疏矩陣來對待,本身的在節點**時不考慮的缺失值的數值。缺失值資料會被分到左子樹和右子樹分別計算損失,選擇較優的那乙個。如果訓練中沒有資料缺失,**時出現了資料缺失,那麼預設被分類到右子樹。

貝葉斯網路是用來表示變數間連線概率的圖形模式,它提供了一種自然的表示因果資訊的方法,用來發現資料間的潛在關係。在這個網路中,用節點表示變數,有向邊表示變數間的依賴關係。貝葉斯網路僅適合於對領域知識具有一定了解的情況,至少對變數間的依賴關係較清楚的情況。否則直接從資料中學習貝葉斯網的結構不但複雜性較高(隨著變數的增加,指數級增加),網路維護代價昂貴,而且它的估計引數較多,為系統帶來了高方差,影響了它的**精度。當在任何乙個物件中的缺失值數量很大時,存在指數**的危險。

神經網路的魯棒性強,所以對於缺失資料不是非常敏感。

參考:

機器學習缺失值處理方法

機器學習中的模型訓練只是其中的乙個步驟,有好的的資料才能得到好的模型。但是在現實情況下,資料往往是存在一些缺失值的,怎麼取處理這些缺失值,使資料表現更完美也是乙個特別重要的步驟。缺失值是指粗糙資料中由於缺少資訊而造成的資料的聚類 分組 刪失或截斷。它指的是現有資料集中某個或某些屬性的值是不完全的。缺...

機器學習中缺失值的處理

做比賽過程中經常會有大量有缺失值的項,這時怎麼處理缺失值很關鍵了。平均值填充 mean mode completer 將初始資料集中的屬性分為數值屬性和非數值屬性來分別進行處理。如果空值是數值型的,就根據該屬性在其他所有物件的取值的平均值來填充該缺失的屬性值 如果空值是非數值型的,就根據統計學中的眾...

機器學習缺失值處理方法彙總

1.用平均值 中值 分位數 眾數 隨機值等替代。效果一般,因為等於人為增加了雜訊。2.用其他變數做 模型來算出缺失變數。效果比方法1略好。有乙個根本缺陷,如果其他變數和缺失變數無關,則 的結果無意義。如果 結果相當準確,則又說明這個變數是沒必要加入建模的。一般情況下,介於兩者之間。缺失值處理方法綜述...