1. 程式人生 > >資料預處理——框架總結篇

資料預處理——框架總結篇

資料預處理

現實中的資料
現實中的資料庫資料很龐大,而且資料來源於“不同複雜各異”的資料來源。資料庫受噪聲缺失值不一致資料的影響,使得資料低質量,導致低挖掘結果。

為提高資料質量,和挖掘結果的質量,對資料預處理是必要的。

1.資料預處理的技術

  • 資料清理:清除資料中的噪聲,糾正不一致。
  • 資料整合:將多個數據源的資料合併到一個一致的資料儲存中,如資料倉庫。
  • 資料規約:通過聚集、刪除冗餘特徵、聚類來降低資料的規模。
  • 資料變換:(如,規範化)可以把資料壓縮到較小的區間,如0到1。對涉及距離度量的挖掘演算法可提高準確率和效率。

2.資料質量:為什麼要對資料預處理?
2.1 資料質量依賴於資料的應用

。也即對於同一資料庫,不同需求的分析人員對其資料評價不同。(資料質量沒有絕對的好壞,只要能滿足分析人員的應用要求,那麼它就是高質量的。)

影響資料質量的因素:準確性、完整性、一致性、時效性、可信性、可解釋性。

假設你是銷售經理,公司要求你分析部門的銷售資料,想知道每種銷售商品是否做了降價銷售廣告,你需要分析某些屬性或維。但是你希望用資料探勘技術分析的資料是:
不完整的(缺少屬性值或某些感興趣的屬性);
不正確的或含噪聲的(包含錯誤的或偏離期望的值);
不一致的(如,用於商品分類的部門編碼存在差異)。

以上是資料質量的三要素,是大型資料庫的共同特點。而導致三要素出現的原因有多種:

  • 收集資料的裝置可能故障;
  • 人和計算機的錯誤輸入;
  • 當用戶不希望提交個人資訊時,會故意輸入錯誤資訊,(如出生年月、個人收入)。這被稱為被掩蓋的缺失資料

時效性(有的資料在資料庫中需要實時更新,再資料探勘分析之前未更新的資料將會嚴重影響資料質量)
可信性 (反映有多少資料是使用者信賴的)
可解釋性(反映資料是否容易理解,有些資料用編碼形式儲存,分析人員難以理解,會把它看成低質量的資料)

2.2 資料預處理的主要任務
資料預處理的主要步驟:資料清理、資料整合、資料歸約、資料變換。

  • 資料清理:通過填寫缺失的值光滑噪聲資料識別和刪除離群點解決不一致性來“清理”資料。

  • 資料整合:假設分析中使用來自多個數據源的資料,這涉及整合多個數據庫、資料立方體或檔案。

  • 資料歸約:由於資料集大都很龐大,降低了資料探勘的速度,為降低資料集的規模,而又不損害資料探勘的結果。資料歸約能得到資料集的簡化表示,併產生同樣的分析結果。包括維歸約數值歸約
    1.)在維歸約中,使用資料編碼方案,以便得到原始資料的簡化或“壓縮”表示。包括資料壓縮技術(如,小波變換、主成分分析);和屬性子集選擇(如,去掉不相關的屬性);屬性構造(如,從原來的屬性集匯出更有用的小屬性集)。
    2.)在數值歸約中,使用引數模型(如,迴歸和對數線性模型)或非引數模型(如,直方圖、聚類、抽樣、資料聚集),用較小的表示取代資料。

  • 資料變換:資料被變換成或統一成適合於挖掘的形式。包括,規範化資料離散化概念分層

如下圖為資料預處理的形式:
預處理

3.資料清理
3.1 缺失值
假設你需要分析顧客資料,許多元組的一些屬性(如,顧客的income)沒有記錄值。如何填寫缺失值呢?

  • 忽略元組:當元組的多個屬性值缺失時,且每個屬性值的百分比變化不大時,可採用忽略該元組。忽略後該元組的剩餘屬性值不能再考慮使用。
  • 人工填寫缺失值:當資料集很大時,缺失值很多,該方法不適合。
  • 使用一個全域性常量填充缺失值:將缺失屬性值用同一個常量(如,Unknown)替換。該方法簡單但並不可靠。
  • 使用屬性的中心度量(如,均值或中位數)填充缺失值:在討論資料的中心趨勢度量時,可指示資料分佈的“中間”值。因此,對於正常的(對稱的)資料分佈,可使用均值對於傾斜資料分佈可使用中位數。如,顧客的income資料分佈是對稱的,平均收入為5000元,則可用該值替換income的缺失值。

3.1 噪聲資料
什麼是噪聲呢? 噪聲是被測量的變數的隨機誤差或方差。
如何表示呢? 使用統計描述技術(如,盒圖、散點圖)和資料視覺化方法來識別代表噪聲的離群點。
給定一個數值屬性,如price,如何“光滑”資料、去掉噪聲?

我們看看以下資料光滑技術

分箱:通過考察資料的“近鄰”(周圍值)來光滑 有序資料值。將這些有序的值分佈到一些“桶”或箱中。由於分箱方法考察近鄰值,因此進行的是區域性光滑。
如下圖是資料光滑的分箱方法:
資料光滑分箱方法

  • 用箱均值光滑:箱中每一個值被箱中的平均值替換。
  • 用箱中位數光滑:箱中的每一個值被箱中的中位數替換。
  • 用箱邊界光滑:箱中的最大和最小值被視為邊界。箱中的每一個值被最近的邊界值替換。

迴歸:也可用一個函式擬合數據來光滑資料。稱為迴歸。線性迴歸是找出擬合兩個屬性的“最佳”直線,使得一個屬性可以用來預測另一個。多元線性迴歸,涉及多個屬性將資料擬合到一個曲面。
離群點分析:可通過聚類來檢測離群點。直觀的,落在簇外的值被視為離群點。

4.資料整合
資料探勘經常需要資料整合——合併來自多個數據儲存的資料。合理有效的整合有助於減少結果資料集的冗餘和不一致。
由於資料語義和結構的多樣性,對資料整合提出了巨大挑戰。如何匹配多個數據源的模式和物件,這實際上是實體識別問題

4.1 實體識別問題

  • 資料整合時,通常需要模式整合物件匹配,*來自多個資訊源的等價實體如何才能“匹配”?*如,計算機如何確定一個數據庫中的customer_id和另一個數據庫中的cust_number指的是相同的屬性。
  • 其實,每個屬性的元資料包含名字、含義、資料型別和屬性的允許取值範圍,以及處理空白、零、NULL的空值規則。這樣的元資料可以用來幫助避免模式整合的錯誤。元資料還可以用來幫助變換資料。

4.2 冗餘和相關分析

  • 冗餘是資料整合的另一個重要問題。一個屬性(如,年收入)如果能由其他屬性匯出,則這個屬性可能是冗餘的。屬性或維命名的不一致也可能導致結果資料整合的冗餘。
  • 有些冗餘可以被相關分析檢測到。對於兩個可能存在冗餘的屬性,這種分析可以根據可用的資料,度量一個屬效能在多大程度上蘊涵另一個。
    對於標稱資料,我們使用卡方檢驗。對於數值資料,我們使用相關係數和協方差它們都可以用來評估一個屬性的值如何隨另一個變化。

4.3 元組重複

除了檢測屬性間的冗餘外,還應當在元組間檢測重複(例如,對於給定的唯一資料實體,存在兩個或多個相同的元組)。

4.4 資料值衝突的檢測與處理

  • 資料整合還涉及資料值衝突的檢測與處理。例如,對於現實世界的同一實體,來自不同資料來源的屬性值可能不同。這可能是因為表示、尺度或編碼不同。例如,重量屬性可能在一個系統中以公制單位存放,而在另一個系統中以英制單位存放。
  • 屬性也可能在不同的抽象層,其中屬性在一個系統中記錄的抽象層可能比另一個系統中“相同的“屬性低。比如,total_sales在一個系統中表示分店銷售額,但在另一個系統表示區域銷售額。

5. 資料歸約
資料歸約技術可以用來得到資料集的歸約表示,它很小,但任然保持了原始資料的完整性。也即在歸約後的資料集上挖掘更有效,任然產生相同的分析結果。

5.1 資料歸約的策略概述

資料歸約策略包括維歸約、數量歸約、資料壓縮

  • 維歸約: 減少所考慮的隨機變數或屬性的個數。 維歸約方法包括小波變換主成分分析(把原資料變換或投影到較小的空間)、屬性子集選擇(其中不相關、弱相關、冗餘的屬性或維被檢測和刪除)。

  • 數量歸約:用替代的、較小的資料表示形式,替換原資料。這些技術可以是引數的或非引數的。 對於引數方法,使用模型估計資料(一般只需要存放模型引數,而不是實際資料)。非引數方法包括,直方圖、聚類、抽樣、資料立方體聚集。

  • 資料壓縮:使用變換,以便得到資料的歸約或“壓縮”表示。如果原資料能夠從壓縮後的資料重構,而不損失資訊,則該資料規約稱為無損的。如果我們只能近似重構原資料,則該資料規約稱為有損的。

6. 資料變換與資料離散化
在資料預處理階段,資料被變換或統一,使得挖掘過程更有效,挖掘的模式可能更容易理解。

6.1 資料變換策略概述

在資料變換中,資料被變換或統一成適合於挖掘的形式。資料變換策略包括如下幾種:

  • 光滑:去掉資料中的噪聲。這類技術包括分箱迴歸聚類。 屬性構造(或特徵構造):可以由給定的屬性構造新的屬性並新增到屬性集中。
  • 聚集:對資料進行彙總或聚集。例如,可以聚集日銷售資料,來計算月和年銷售量。
  • 規範化:把屬性資料按比例縮放,使落到一個特定的小區間,如,0.0-1.0。
  • 離散化:數值屬性(如,年齡)的原始值,用區間標籤(如,0-20,21-30);或概念標籤(如,youth,adult,senior)替換。
    由標稱資料產生概念分層:屬性,如street,可以泛化到較高的概念層,如city。