機器學習中缺失值的處理

2021-09-23 23:56:14 字數 1607 閱讀 2217

做比賽過程中經常會有大量有缺失值的項,這時怎麼處理缺失值很關鍵了。

平均值填充(mean/mode completer)

將初始資料集中的屬性分為數值屬性和非數值屬性來分別進行處理。

如果空值是數值型的,就根據該屬性在其他所有物件的取值的平均值來填充該缺失的屬性值;

如果空值是非數值型的,就根據統計學中的眾數原理,用該屬性在其他所有物件的取值次數最多的值(即出現頻率最高的值)來補齊該缺失的屬性值。與其相似的另一種方法叫條件平均值填充法(conditional

mean completer)。在該方法中,用於求平均的值並不是從資料集的所有物件中取,而是從與該物件具有相同決策屬性值的物件中取得。

這兩種資料的補齊方法,其基本的出發點都是一樣的,以最大概率可能的取值來補充缺失的屬性值,只是在具體方法上有一點不同。與其他方法相比,它是用現存資料的多數資訊來推測缺失值。

熱卡填充(hot deck imputation,或就近補齊)

對於乙個包含空值的物件,熱卡填充法在完整資料中找到乙個與它最相似的物件,然後用這個相似物件的值來進行填充。不同的問題可能會選用不同的標準來對相似進行判定。該方法概念上很簡單,且利用了資料間的關係來進行空值估計。這個方法的缺點在於難以定義相似標準,主觀因素較多。

k最近距離鄰法(k-means clustering)

先根據歐式距離或相關分析來確定距離具有缺失資料樣本最近的k個樣本,將這k個值加權平均來估計該樣本的缺失資料。

使用所有可能的值填充(assigning all possible values of the attribute)

用空缺屬性值的所有可能的屬性取值來填充,能夠得到較好的補齊效果。但是,當資料量很大或者遺漏的屬性值較多時,其計算的代價很大,可能的測試方案很多。

組合完整化方法(combinatorial completer)

用空缺屬性值的所有可能的屬性取值來試,並從最終屬性的約簡結果中選擇最好的乙個作為填補的屬性值。這是以約簡為目的的資料補齊方法,能夠得到好的約簡結果;但是,當資料量很大或者遺漏的屬性值較多時,其計算的代價很大。

回歸(regression)

基於完整的資料集,建立回歸方程。對於包含空值的物件,將已知屬性值代入方程來估計未知屬性值,以此估計值來進行填充。當變數不是線性相關時會導致有偏差的估計。

期望值最大化方法(expectation maximization,em)

em演算法是一種在不完全資料情況下計算極大似然估計或者後驗分布的迭代演算法。在每一迭代迴圈過程中交替執行兩個步驟:e步(excepctaion

step,期望步),在給定完全資料和前一次迭代所得到的引數估計的情況下計算完全資料對應的對數似然函式的條件期望;m步(maximzation

step,極大化步),用極大化對數似然函式以確定引數的值,並用於下步的迭代。演算法在e步和m步之間不斷迭代直至收斂,即兩次迭代之間的引數變化小於乙個預先給定的閾值時結束。該方法可能會陷入區域性極值,收斂速度也不是很快,並且計算很複雜。

機器學習缺失值處理方法

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

機器學習中樣本缺失值的處理方法

dropna scikit learn的imputer類提供了估算缺失值的基本策略,可以使用缺失值所在的行或列的均值,中位數或最頻繁值。這個類還允許不同的缺失值編碼。import numpy as np from sklearn.preprocessing import imputer imp im...

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

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