第二章 數據預處理數據庫
數據預處理大數據
概念:數據預處理是數據挖掘過程當中一個重要步驟,尤爲是包含有噪聲、不完整、甚至是不一致的數據進行數據挖掘時,更須要進行數據的預處理,以提升數據挖掘對象的質量、並最終達到提升數據挖掘所獲模式知識質量的目的。編碼
主要步驟: .net
數據預處理案例:
對一個負責進行公司銷售數據分析的商場主管,他會仔細檢查公司數據庫貨數據倉庫內容,精心挑選與挖掘任務相關數據對象的描述特徵貨數據倉庫相關數據,如(商品類型、價格、銷售量等),但這時他或許會發現數據庫中有幾條概率的一些特徵值沒被記錄下來;甚至數據庫中的數據記錄還存在着一些錯誤、不尋常、甚至是不一致的狀況。對於這樣的數據對象進行數據挖掘,顯然首先必須進行數據的預處理。orm
數據預處理的對象:對象
數據清洗處理例程:get
例如:數據分析
假設在分析一個商場銷售數據時,發現有多個概率中的屬性值爲空,(如顧客收入數據屬性,)咱們能夠作一下處理。數學
(1) 忽略該條數據it
(2) 手工填補遺漏值。(可行交差)
(3) 利用缺省值填補遺漏值。對一個屬性的全部遺漏的值均利用一個事先肯定好的值填補。
(4) 利用均值填補遺漏值。計算一個屬性的平均值,並填補該值。
(5) 利用同類別均值填補遺漏值。這種方法尤爲在分類挖掘時使用。
(6) 利用最可能的值填補遺漏值。 用數學方法推斷、暫不討論。
數據集成與轉換
數據挖掘任務經常涉及數據集成操做,即未來自多個數據源的數據。結合在一塊兒並造成一個統一數據集合,以便爲數據挖掘工做的順利完成提供完整的數據基礎。
集成過程:
(1) 模式集成。要考慮來自多個數據源的相同實體的匹配。如:數據表A中可「工做人員ID」與數據表B中「身份ID」是否表示同一實體。是否表示同一事物。
(2) 冗餘問題。整合表的時候考慮屬性是否冗餘,並須要檢查記錄行的冗餘。
(3) 數據值衝突檢測與消除。對於同一個世界實體,其來自不一樣數據源的屬性可能不一樣。因此要消除差別、比例尺度、編碼的不一樣。例如:表A中日期爲2012年12月10日。表B中日期爲2012-12-10日。若要統計那一天的數據。先統一A與B的格式。
數據轉換過程:
所謂數據轉換就是將數據轉換或歸併已構成一個適合數據挖掘的描述形式。
(1) 平滑處理。 幫助除去數據中的噪聲。
(2) 合計處理。 對數據進行總結或合集操做。
(3) 數據泛化處理。就是用更抽象的概念取代低層次或數據層的數據對象。如:年齡屬性,能夠映射出更高的概念:年輕、中年和老年。
(4) 規格化。就是將有關屬性數據按比例投射到特定的小範圍中。
(5) 屬性構造。根據已有屬性集構造新的屬性,以幫助數據挖掘過程。
數據消減
對於大規模數據庫內容進行復雜的數據分析須要大量時間。數據消減技術正式用於幫助從原有龐大數據集中得到一個精簡的數據集合,並使這一精簡數據集保持原有數據集的完整性。
主要策略:
(1) 數據立方合計,這類合集操做主要用於構造數據立方(數據倉庫操做)。
(2) 維度消減,主要用於檢測和消除無關、弱相關、或冗餘的屬性或維。
(3) 數據壓縮、利用編碼技術壓縮數據集的大小
(4) 數據塊消減,利用更簡單的表達式,如參數模型、非參數模型,來取代原有的數據。