一、臟數據處理
為什么要預處理數據?
- 數據缺失:記錄為空&屬性為空
- 數據重復:完全重復&不完全重復
- 數據錯誤:異常值&不一致
- 數據不可用:數據正確但不可用
如何預防臟數據?
- 制定數據標准
- 優化系統設計
1. 處理數據缺失:
- 忽略該記錄
- 使用默認值
- 使用屬性平均值
- 使用同類樣本平均值
- 預測最可能的值
2. 處理數據重復:
- 刪除完全重復的記錄
- 合並不同的表,增加部分冗余屬性
3. 處理數據錯誤:不一致
- 制定清洗規則,進行匹配
- 通過統計描述,找到異常值
二、噪聲數據處理
1. 分箱:
把待處理的數據按照一定的規則放進一些箱子中,考察每一個箱子中的數據,采用某種方法分別對各個箱子中的數據進行處理。
需要確定的主要問題:分箱方法,即如何分箱;數據平滑方法,即如何對每個箱子中的數據進行平滑處理。
分箱方法:
- 等深分箱法(統一權重):按記錄行數分箱,每箱具有相同的記錄數,每箱記錄數稱為箱的權重,也稱為箱子的深度。每個箱子具有相同的記錄數。
- 等寬分箱法(統一區間):在整個屬性值的區間上平均分布,即每個箱的區間范圍是一個常量,稱為箱子寬度。不能保證每個箱子中樣本數一致。
- 用戶自定義區間:用戶根據需要自定義區間。
平滑處理:
- 按平均值平滑:對同一箱子中的數據求平均值,用平均值代替該箱子中的所有數據。
- 按邊界值平滑:用距離較小的邊界值代替箱中的每一數據。
- 按中指平滑:取箱子的中值,用來替代箱子中的所有數據。
2. 回歸
發現兩個相關的變量間的變化模式,通過使數據適合一個函數來平滑數據,即利用擬合函數對數據進行平滑。
回歸方法:線性方法;非線性方法。
3. 聚類
將物理的或抽象對象集合分組為不同簇,找出並清除那些落在簇之外的值(鼓勵點),這些鼓勵點被視為噪聲。
通過聚類分析發現異常數據:相似或向鄰近的數據聚合在一起形成了各個聚類集合,而那些位於這些聚類集合之外的數據對象,被認為是異常數據。
特點:直接形成簇並對簇進行描述,不需要任何先驗知識。
三、數據集成
模式匹配:整合不同數據源中的元數據。(A.user_id=B.customer_no)
數據冗余:一個屬性可以由另外一個表導出。(平均月收入-月收入)
數據值沖突:來自不同數據源的屬性值不同。(人民幣-英鎊)
聚集:對數據進行匯總。(avg, count, sum, min, max)
數據概化:用更抽象(更高層次)的概念來取代低層次或數據層的數據對象。(城市->國家)
規范化:將數據按照比例進行縮放,使之落入一個特定的區域,以消除數值型屬性因大小不一而造成挖掘結果的偏差。(最小-最大規范化,零-均值規范化,小數定標規范化)
屬性構造:利用已有屬性集構造出新的屬性,並加入到現有屬性集合中以幫助挖掘更深層次的模式知識,提高挖掘結果准確性。(寬、高->面積)
四、數據規約
對大規模數據庫內容進行復雜的數據分析通常需要耗費大量的時間。數據規約技術用於幫助從原有龐大數據集中獲得一個精簡的數據集合,並使用這一精簡數據集保持原有數據集的完整性,這樣在精簡數據集上進行數據挖掘效率更高,並且挖掘出來的結果與使用原有數據集所獲得的結果基本相同。
標准:
- 用於數據規約的時間不應當超過或“抵消”在規約后的數據上挖掘節省的時間
- 規約得到的數據比原數據小得多,但可以產生相同或幾乎相同的分析結果
方法:
- 數據立方體聚集:對某一維度求和。
- 維規約:去掉無關屬性。(逐步向前選擇,逐步向后刪除)
- 數據壓縮:用數據編碼或變換,得到原始數據的壓縮表示。(主成分分析,小波變換)
- 數值規約
- 離散化和概念分層生成
五、數據建模
概念模型:實體及關聯關系
邏輯模型:數據實體細節(主鍵,外鍵,索引)
物理模型:數據的存儲方式(數據拆分,數據表空間,數據集成)