數據挖掘(三):數據預處理

在現實生活中,咱們會遇到各類各樣的數據,並且其中絕大多數的數據是「有毛病」的,不利於後期進行分析,因此咱們在分析前須要進行數據的預處理。數據庫

3.1 數據預處理:概述

3.1.1 數據質量

數據質量包括準確性完整性一致性時效性可信性可解釋性工具

3.1.2 數據預處理的主要任務

數據清理數據集成數據歸約數據變換性能

  • 數據清理經過填寫缺失值,光滑噪聲數據,識別或刪除離羣點,並解決不一致性「清理」數據。
  • 數據集成將多個數據庫、數據立方體或文件集成在一塊兒,主要問題是表明同一律唸的屬性在不一樣數據庫中可能具備不一樣的名字,致使不一致性和冗餘。
  • 數據歸約獲得數據集的簡化表示,它小得多,但能產生一樣的(或幾乎一樣的)分析結果。數據歸約策略包括維歸約數值歸約編碼

    • 維歸約:使用數據編碼方案,以便獲得數據的簡化或「壓縮」表示方式。包括數據壓縮技術(例如,小波變換和主成分分析),以及屬性子集選擇(例如,去掉不相關的屬性)和屬性構造(例如,從原屬性導出更有用的小屬性集)
    • 數值歸約:使用參數模型(例如,迴歸或對數線性模型等)或非參數模型(例如,直方圖、聚類和抽樣等),用較小的表示取代數據。
  • 數據變換包括規範化數據離散化概念分層產生

3.2 數據清理

數據清理例程試圖填充缺失的值、光滑噪聲並識別離羣點,糾正數據中的不一致。code

3.2.1 缺失值

處理缺失值的方法:事件

  1. 忽略元組
  2. 人工填寫缺失值
  3. 使用一個全局常量填充缺失值
  4. 使用屬性的中心度量(如均值或中位數)填充缺失值
  5. 使用與給定元組屬於同一類的全部樣本的屬性均值或中位數
  6. 使用最可能的值填充缺失值:能夠用迴歸、使用貝葉斯形式化方法的基於推理的工具或決策樹概括肯定。

注:某些狀況下,缺失值並不表示錯誤,例如,一個沒有駕駛證的人去辦理信用卡,則駕駛證欄不會填ci

3.2.2 噪聲數據

噪聲是被測量的變量的隨機偏差或方差。
數據光滑技術包括:it

  • 分箱:分箱方法經過考察數據的「近鄰」(即周圍的值),來光滑有序數據值。變量

    • 用箱均值光滑:箱中每個值都被替換爲箱中的均值
    • 用箱中位數光滑:箱中每個值都被替換爲箱中的中位數
    • 用箱邊界光滑:給定箱中的最大值和最小值做爲箱邊界,箱中每個值都被替換爲最近的邊界值。
  • 迴歸
  • 離羣點分析:可經過如聚類來檢測離羣點

以上方法也可用於數據離散化和數據歸約 重構

3.2.3 數據清理化爲一個過程

數據清理首先進行誤差檢測,使用任何可能具備的關於數據性質的元數據(關於數據的數據),還要防止字段過載,還應當根據惟一性規則連續性規則空值規則考察數據。

  • 惟一性規則:給定屬性的每一個值都必須不一樣於該屬性的其餘值
  • 連續性規則:屬性的最低和最高值之間沒有缺失的值,而且全部的值還必須惟一
  • 空值規則:說明空白、問號、特殊符號或指示空值條件的其餘串的使用,以及如何處理這樣的值

誤差檢測的商業工具:

  • 數據清洗工具
  • 數據審計工具

數據遷移工具:

  • EIL工具

3.3 數據集成

好的數據集成有助於提升其後挖掘過程的準確性和速度。

3.3.1 實體識別問題

例如,計算機如何確信一個數據庫中的customer_id與另外一個數據庫中的cust_number指的是相同屬性?每一個屬性的元數據包括名字、含義、數據類型和取值範圍,以及空值規則。這樣的元數據能夠用來避免模式集成的錯誤。

3.3.2 冗餘和相關分析

有些冗餘能夠被相關分析檢測到。給定兩個屬性,這種分析能夠根據可用的數據,度量一個屬性能有多大程度蘊含另外一個。
對於標稱數據,使用$\chi^{2}$(卡方)檢驗,對於數值屬性,使用相關係數協方差`。

1. 標稱數據的$\chi^{2}$相關檢驗

假設A有C個不一樣值$a_1,a_2,...,a_c$,B有r個不一樣值$b_1,b_2,...,b_r$。用A和B描述的數據元組能夠用相依表顯示,其中A的C個值構成列,B的r個值構成行。令$(A_i, B_j)$表示屬性$a_i, b_j$的聯合事件,即$(A = a_i, B = b_j)$。每一個可能的$(A_i, B_j)$聯合事件都在表中有本身的單元。$\chi^{2}$值(又稱$Pearson \chi^{2}$統計量)能夠用下式計算:

$$ \chi^{2}=\sum_{i=1}^c \sum_{j=1}^r \frac{(o_{ij}-e_{ij})^2}{e_{ij}} $$

其中,$o_{ij}$是聯合事件$(A_i, B_j)$的觀測頻度(即實際計數),而$e_{ij}$是$(A_i, B_j)$的指望頻度,能夠用下式計算:

$$ e_{ij} = \frac{count(A=a_i)*count(B=b_j)}{n} $$

其中,$n$是數據元組的個數,$count(A=a_i)$是A上具備$a_i$的元組個數,$count(B=b_j)$是B上具備$b_j$的元組個數。

注:對$\chi^2$值貢獻最大的單元是其實際計數與指望計數很不相同的單元
$\chi^2$統計檢驗假設A和B是獨立的。檢驗基於顯著水平,具備自由度$(r-1)(c-1)$。若是能夠拒絕該假設,則說明A和B是統計相關的。

2. 數值數據的相關係數

能夠經過計算屬性A和B的相關係數(又稱$Pearson$積矩係數)估計這兩個屬性的相關度$r_{a,b}$

$$ r_{a,b} = \frac{\sum_{i=1}^n (a_i - A_{mean})(b_i - B_{mean})}{n\sigma_A \sigma_B} = \frac{\sum_{i=1}^n (a_i b_i) - nA_{mean}B_{mean}}{n\sigma_A \sigma_B} $$

其中,$n$是元組的個數,$a_i$和$b_i$分別是元組$i$上A和B的值,$A_{mean}$和$B_{mean}$分別是A和B的均值,$\sigma_A$和$\sigma_B$的標準差,而$\sum(a_ib_i)$是AB的叉積和。
注:$-1≤r_{A,B}≤+1$。若是$r_{A,B}$大於0,則A和B是正相關的,意味着A值隨B值的增長而增長。值越大,相關性越強。所以,一個較高的$r_{A,B}$值代表A或B能夠做爲冗餘刪除。

3. 數值數據的協方差

考慮兩個數值屬性A和B和幾回觀測的集合$\{(a_1,b_1),...,(a_n,b_n) \}$。A和B的均值又稱爲指望,即:

$$ E(A) = A_{mean} = \frac{\sum_{i=1}^n a_i}{n}, E(B) = B_{mean} = \frac{\sum_{i=1}^n b_i}{n} $$

A和B的協方差定義爲:

$$ Cov(A, B) = E((A-A_{mean})(B-B_{mean})) = \frac{\sum_{i=1}^n(a_i-A_{mean})(b_i-B_{mean})}{n} $$

協相關係數$r_{A,B}$:

$$ r_{A,B} = \frac{Cov(A,B)}{\sigma_A \sigma_B} $$

其中,$\sigma_A$和$\sigma_B$分別是A和B的標準差

$$ Cov(A,B) = E(A,B) - A_{mean}B_{mean} $$

兩個趨於一塊兒改變的屬性A和B,若是A大於$A_{mean}$,則極可能B大於$B_{mean}$,所以A,B的協方差爲正,若是A和B是獨立的,則$E(A,B)=E(A)-E(B)$,因此$Cov(A,B)=E(A*B)-A_{mean}B_{mean}=E(A)*E(B)-A_{mean}B_{mean} = 0$

3.3.3 元組重複

除了檢測屬性冗餘外,還應在元組級檢測重複。
例如,對於給定的惟一數據實體,存在兩個或多個相同的元組。

3.3.4 數據值衝突的檢測與處理

致使數據值衝突的緣由可能由於表示、尺度或編碼不一樣。
屬性也可能在不一樣的抽象層,其中屬性在一個系統中記錄的抽象層可能比另外一個系統中「相同的」屬性低。

3.4 數據歸約

3.4.1 數據歸約策略概述

數據歸約策略包括維歸約數量歸約數據壓縮
維歸約減小所考慮的隨機變量或屬性的個數。維歸約方法包括小波變換主成分分析屬性子集選擇
數量歸約用替代的較小的數據表示形式替換原數據。
數據壓縮使用變換,以便獲得原數據的歸約或「壓縮」表示。若是原數據可以從壓縮後的數據重構,而不損失信息則稱無損的。若是能近似重構原數據則稱有損的

3.5 數據變換與數據離散化

3.5.1 數據變化策略概述

數據變換策略包括:

  1. 光滑:去掉數據中的噪聲。包括分箱、迴歸和聚類
  2. 屬性構造(或特徵構造):能夠由給定的屬性構造新的屬性並添加到屬性集中,以幫助挖掘過程。
  3. 彙集:對數據進行彙總和彙集
  4. 規範化:吧屬性數據按比例縮放,使之落入特定小區間。
  5. `離散化:數值屬性的原始值用區間標籤或概念標籤替換。
  6. 由標籤數據產生概念分層:屬性,如:stree,能夠泛化到較高的概念層,如city。

注:數據預處理的主要任務之間存在許多重疊

相關文章
相關標籤/搜索