數據預處理
數據挖掘是統計學,機器學習,數據庫三者的統一。它利用的思想有:
(1)統計學的抽樣、估計、假設檢驗;
(2)人工智能、機器學習的算法、建模技術和理論;
(3)此外需要數據庫提供有效的存儲、索引、查詢等處理支持。
數據挖掘過程中,數據基本來自生產、生活、商業中的實際數據,現實中我們采集到的數據往往存在:不正確、不完整、不一致這三個問題。
數據預處理一般就四種:
缺失值處理
對于缺失值的處理總的來說分刪除法和插補法
(1)刪除法:刪除存在缺失值的記錄(僅當樣本量很大且缺失值記錄所占樣本比例小于5%時可行)
(2)插補法:若屬性是連續的,則使用該屬性存在值的平均值去插補缺失值;若屬性是離散的,則可取該屬性的眾數來插補缺失值。
數據集成
即相當于從原始的ODS中將各個數據表盡量整合成一個一個方便查詢的表
數據規約
由于用于分析的數據集中可能包含數以百計的屬性,但是其中大部分屬性可能與挖掘任務不相關,或者是冗余的,則要盡量挑選出有用的屬性,這是一項困難費時的任務。
所以數據規約目標在于找到最小的屬性集,使現有概率分布盡可能接近使用所有屬性時的原始分布。
數據變換
數據變化是將數據由一種表現形式變為另一種表現形式。常見的數據變換方式是:數據標準化、數據離散化、語義轉換。
(1)數據標準化
0-1標準化
線性函數轉換:
$$y=\frac{x-min(x)}{max(x)-min(x)}$$
對數函數轉換:
$$y=\log_{10}x$$
反正切函數轉換:
$$y=\frac{\arctan x *2}{\pi}$$
z-score標準化
$$y=\frac{x-u}{\sigma }$$
(2)離散化
指將連續性數據切分為多個“段”,有些數據挖掘算法要求數據是分類屬性的形式。
(3)語義轉換
將{非常好,好,一般,差,非常差}這種轉化為{1,2,3,4,5}來替代。