數據挖掘之數據準備——丟失數據
對數據挖掘的實際應用而言,即使數據量很大,具有完整數據的案例子集可能相對較小。可用的樣本和將來的事件都可能有丟失值。一些數據挖掘方法可以接受丟失值,並能進行圓滿的處理,得到最終結論。一個明顯的問題是,在應用數據挖掘方法之前的數據準備階段,能否把這些丟失值補上。最簡單的解決辦法是減少數據集,去除包含丟失值的所有樣本。若大型數據集是可用的,且隻有一小部分樣本包含丟失值,則這是可行的。
如果不去除丟失值的樣本,如何找到他們的丟失值呢?
首先,數據挖掘者和領域內專家可手動檢查缺失值樣本,再根據薑堰加入一個合理的,可能的,預期的值。對丟失值較小的數據集合來說,這種方法簡單明了。但是如果每個樣本的值都不明顯或似是而非,挖掘者就要手動生成一個值,從而把噪點引入數據集
第二種方法消除丟失值的一個更簡單的解決方案,這種方法基於一種形式,常常用一些常量自動替換丟失值 如
1) 用一個全局常量替換所有的丟失值
2)用特征平均值替換丟失值
3)用給定種類的特征平均值替換丟失值
這些方法簡單具有誘惑力,但是主要缺點是替代之並不準確。用常量替換丟失值或改變少數不同特征的值,數據就會有誤差。替代值會均話帶有丟失值的樣本,給丟失值最多的類別生成一致的子集。如果所有特征的丟失值都用一個全局變量來替代,一個未知值可能會暗中形成一個未經客觀證明的正因數
最後一種方法是,數據挖掘者可以生成一個預測模型,來預測每個丟失值。如果丟失值與其他已知特征高度有關,這樣的處理就可以為特征生成最合適的值。
一般來講,用簡單的人工數據準備模式來替代丟失值是有風險的,常常有誤導作用。最好對帶有和不帶有丟失值的特征生成多種數據挖掘解決方案,然後對他們進行分析和解釋
最後更新:2017-04-08 12:31:11