原文:http://dataunion.org/5009.htmlhtml
一:爲何要預處理數據?
(1)現實世界的數據是骯髒的(不完整,含噪聲,不一致)
(2)沒有高質量的數據,就沒有高質量的挖掘結果(高質量的決策必須依賴於高質量的數據;數據倉庫須要對高質量的數據進行一致地集成)
(3)原始數據中存在的問題:
不一致 —— 數據內含出現不一致狀況
重複
不完整 —— 感興趣的屬性沒有
含噪聲 —— 數據中存在着錯誤、或異常(偏離指望值)的數據
高維度
二:數據預處理的方法
(1)數據清洗 —— 去噪聲和無關數據
(2)數據集成 —— 將多個數據源中的數據結合起來存放在一個一致的數據存儲中
(3)數據變換 —— 把原始數據轉換成爲適合數據挖掘的形式算法
(4)數據規約 —— 主要方法包括:數據立方體彙集,維度歸約,數據壓縮,數值歸約,離散化和概念分層等。數據庫
(5)圖說事實函數
三:數據選取參考原則
(1)儘量富餘屬性名和屬性值明確的含義
(2)統一多數據源的屬性編碼
(3)去除惟一屬性
(4)去除重複屬性
(5)去除可忽略字段
(6)合理選擇關聯字段
(7)進一步處理:工具
經過填補遺漏數據、消除異常數據、平滑噪聲數據,以及糾正不一致數據,去掉數據中的噪音、填充空值、丟失值和處理不一致數據編碼
四:用圖說話,(我仍是習慣用統計圖說話)spa
數據清洗的路子:剛拿到的數據 —-> 和數據提供者討論諮詢 —–> 數據分析(藉助可視化工具)發現髒數據 —->清洗髒數據(藉助MATLAB或者Java/C++語言) —–>再次統計分析(Excel的data analysis不錯的,最大小值,中位數,衆數,平均值,方差等等,以及散點圖) —–> 再次發現髒數據或者與實驗無關的數據(去除) —–>最後實驗分析 —-> 社會實例驗證 —->結束。htm
一 數據清理對象
試圖填充缺失值,光滑噪聲並識別離羣點,並糾正數據中的不一致。get
1)處理缺失值方法:
a.忽略元祖,挖掘任務涉及分類任務中若是缺乏類標號時一般這樣作
b.人工填寫缺失值,量大時行不通
c.使用一個全局常量填充缺失值,簡單但不可靠
d.使用屬性的均值填充缺失值
e.使用與給定元組屬同一類的全部樣本的屬性均值
f.使用最有可能的值填充缺失值,能夠用迴歸,使用貝葉斯形式化的基於推理的工具或決策樹概括肯定,是流行的作法。
2)數據光滑技術:噪聲是被測量的變量的隨機偏差或方差
a.分箱,分箱方法經過考察數據的「近鄰」(即周圍的值)來光滑有序數據的值,有序值分佈到一些「桶」或箱中。因爲分箱方法考察近鄰的值,所以進行局部光滑。幾種分箱技術:用箱均值光滑、用箱邊界光滑、用箱中位數光滑。
b.迴歸:能夠用一個函數(如迴歸函數)擬合數據來光滑數據。線性迴歸涉及找出擬合兩個屬性(或變量)的「最佳」線,是的一個屬性能夠用來預測另外一個。多元線性迴歸是線性迴歸的擴展,其中涉及的屬性多於兩個,而且數據擬合到一個多維曲面。
c.聚類:經過聚類檢測離羣點
3)數據清理做爲一個過程的方法:過程的第一步是誤差檢測,有大量商業工具幫助咱們進行誤差檢測,數據清洗工具、數據審計工具、數據遷移工具、ETL工具。新的數據清理方法強調增強交互性,如Potter's Wheel,集成了誤差檢測和數據變換。
二 數據集成和變換
1)數據集成:數據分析任務多半涉及數據集成。數據集成合並多個數據源中的數據,存放在一個一致的數據存儲(如數據倉庫)中。這些數據源可能包括多個數據庫、數據立方體或通常文件。數據集成有三個主要問題:a.模式集成和對象匹配,實體識別問題:來自多個信息源的現實世界的等價實體如何才能匹配?元數據能夠幫助避免模式集成的錯誤。b.冗餘:有些冗餘能夠被相關分析檢測到。經過計算屬性A,B的相關係數(皮爾遜積矩係數)來判斷是否冗餘;對於離散數據,可經過卡方檢驗來判斷兩個屬性A和B之間的相關聯繫。c.數據值衝突的檢測與處理
2)數據變換:將數據轉換或統一成適合於挖掘的形式。涉及以下內容:
a.光滑:去掉數據的噪聲,包括分箱,迴歸和聚類
b.彙集:對數據進行彙總或彙集。這一步一般用來爲多粒度數據分析構造數據立方體
c.數據泛化:使用概念分層,用高層概念替換底層或「原始」數據。
d.規範化:又稱爲歸一化,feature scaling特徵縮放。將屬性數據按比例縮放,使之落入一個小的特定區間。規範化方法:
1.最小-最大規範化:v'=[(v-min)/(max-min)]*(new_max-new_min)+new_min
2.z-score規範化(或零均值規範化):v'=(v-屬性A的均值E)/屬性A的標準差∽
3.小數定標規範化:v'=v/10的j次方,j是使Max(|v'|)<1的最小整數
e.屬性構造(或特徵構造):能夠構造新的屬性並添加到屬性集中,以幫助挖掘過程。
三 數據歸約
數據集可能很是大!面對海量數據進行復雜的數據分析和挖掘將須要很長的時間。數據歸約技術能夠用來獲得數據集的歸約表示,它小不少,但仍接近保持原數據的完整性。數據歸約策略以下:
1)數據立方體彙集:彙集操做用於數據立方體結構中的數據。數據立方體存儲多維彙集信息。
2)屬性子集選擇,參見文本分類概述中特徵選擇算法
3)維度歸約:使用數據編碼或變換,以便獲得原數據的歸約或「壓縮」表示。歸約分爲無損的和有損的。有效的有損維歸約方法爲:小波變換和主成分分析
4)數值歸約:經過選擇替代的、‘較小的’數據表示形式來減小數據量
5)離散化和概念分層產生