數據預處理章節,整理於《數據挖掘·概念與技術》第三章,若有錯誤,請指正,謝謝~算法
一、概述數據庫
數據清理能夠去除數據中的噪聲,糾正不一致。數據集成將數據由多個數據源合併成一個一致的數據進行存儲,如數據倉庫。數據規約能夠經過如彙集,刪除冗餘特徵或聚類下降數據的規模。數據變換(如規約化)能夠把數據壓縮到較小的區間,如0.0到1.0。這能夠提升設計距離度量數據挖掘算法的準確率和效率。網絡
數據質量涉及到許多因素,包括準確性、完整性、一致性、時效性、可信性和可解釋性。electron
在分析中使用多個數據源的數據那就是數據集成,數據集是巨大的,要下降數據集的規模,而又不損害數據挖掘的結果--數據規約(data reduction); 維規約:用數據編碼方案,獲得原始數據的簡化或「壓縮」表示。包括數據壓縮技術(例如小波變換和主成分分析),以及屬性子集選擇(例如去掉不相關的屬性)和屬性構造(例如從原來數據集導出更有用的小屬性集);數據規約:使用參數模型(例如迴歸和對數線性模型)或非參數模型(例如直方圖、聚類、抽樣或數據彙集)用較小的表示取代數據函數
離散化和概念分層產生 也多是有用的。工具
規範化、數據離散化和概念分層產生都是某種形式的數據變換(data transformation)編碼
二、數據清理spa
現實的數據通常是不完整的、有噪聲的和不一致的。數據清理試圖填充缺失值、光滑噪聲並識別離羣點、糾正數據中的不一致設計
2.1缺失值:orm
針對缺失值有不少種方法忽略改元組,人工填寫,用一個全局變量填充,使用屬性中心度量(均值或中位數)填充,使用與給定元組屬同一類的樣本屬性均值或中位數代替, 使用最可能的值填充缺失值。
貌似方法"使用最可能的值填充缺失值"最靠譜:能夠用迴歸、使用貝葉斯形式化方法的基於推理的工具或決策樹概括肯定。
2.2噪聲數據:
「噪聲」(noise)是被測量的變量的隨機偏差或方差
數據光滑技術:分箱(binning)、迴歸(regression)、離羣點分析(outlier analysis)
迴歸:用一個函數擬合數據來光滑數據,線性迴歸找出擬合兩個屬性的最佳直線。多元線性迴歸是線性迴歸的擴充,屬性多於2個,數據將擬合到一個多維曲面
有些分類方法有內置的數據光滑機制(如神經網絡)
2.3數據清理做爲一個過程
第一步是誤差檢測(discrepancy detection),例如,找出均值,中位數,衆數。數據是對稱的仍是傾斜的?值域是什麼?全部的值是否都落於指望區間?每一個屬性的標準差是多少?遠離給定屬性均值超過兩個標準差的值可能標記爲可能的離羣點。屬性之間是否存在已知的依賴關係?
還能夠根據惟一性規則、連續性規則和空值規則考查數據。
三、數據集成
3.1實體識別問題:
數據集成是未來自多個數據源的數據合併,並存放在一個一致的數據存儲中。考慮多個信息源的現實世界的等價實體如何相互「匹配」?如一個customer_id字段與另外一個數據庫中的cust_number是否相同屬性。要考慮每一個屬性的元數據,包括名字、含義、數據類型、和取值範圍,以及處理空白,空值和null的規則。 還能夠進行變換數據,如性別有的用B和G表明,還有的用1和2表明
3.2冗餘和相關性分析
冗餘是常見的,好比一個屬性(年收入)能夠由其餘屬性導出(月收入),那麼就是冗餘的。
冗餘能夠被相關分析檢測到。對於標稱數據能夠用(卡方)檢驗;對於數值型數據能夠用相關係數(correlation coefficient)和協方差(covariance)檢驗,這兩個都是評估一個屬性的值如何隨另外一個屬性值變化。
(1)標稱數據的卡方相關檢驗:
有兩個屬性A和B,屬性A有c個不一樣值,a1,a2……ac;屬性B有r個不一樣值,b1,b2,……br;A和B兩個屬性描述的數據元組能夠用一個相依表顯示,A屬性爲列,B屬性爲行,構成的每一個元組(Ai,Bj);則卡方的表達式爲:
Oij是聯合事件(Ai,Bj)的實際觀測頻度,Eij則是(Ai,Bj)的指望頻度。
其中n是數據元組的個數,count(A=ai)表示A上具備ai值的全部個數,同理。
卡方統計檢驗假設A和B都是獨立的,檢驗基於顯著水平,具備自由度(r-1)X(c-1),若是能夠拒絕改假設,則咱們能夠說A和B是統計相關的。
例子1:性別與是否愛閱讀小說的卡方檢驗
男 | 女 | 合計 | |
小說 | 250(90) | 200(360) | 450 |
非小說 | 50(210) | 1000(840) | 1050 |
合計 | 300 | 1200 | 1500 |
其中括號內的數是指望頻率,指望頻率是根據兩個屬性的數據分佈用eij式子計算得來,如(男,小說)的指望頻率是e11 = count(男)Xcount(小說) / n = 300X450/1500 = 90
注意:任意行,指望頻率的和必須等於改行總觀測頻率,而且任意列的指望頻率和也必須等於該列的總觀測頻率。利用卡方計算公式有
=284.44+121.90+71.11+30.48 = 507.93
對於2X2的表,自由度爲(2-1)X(2-1)=1, 自由度爲1,在0.001置信水平下,拒絕假設的值爲10.828,咱們計算值大於該值,所以咱們拒絕兩個屬性獨立的假設。
例2:醫院分別用化療和化療結合放射結合兩種方法,如圖
組別 | 有效 | 無效 | 合計 | 有效率(%) |
化療組 | 19 | 24 | 43 | 44.2 |
化療加放療組 | 34 | 10 | 44 | 77.3 |
合計 | 53 | 34 | 87 | 60.9 |
分別計算指望頻度,總數n是87,第一行第一列:count(有效)Xcount(化療組)/n=53*43/87=26.2;第一行第二列:count(化療)Xcount(無效)/n=43*34/87=16.8;第二行第一列:count(化療加放療)Xcount(有效)/n=44*53/87=26.8;第二行第二列:44*34/87=17.2
組別 | 有效 | 無效 | 合計 |
化療組 | 19(26.2) | 24(16.8) | 43 |
化療加放療組 | 34(26.8) | 10(17.2) | 44 |
合計 | 53 | 34 | 87 |
則卡方的值爲:(19-26.2)^2/26.2 + (34-26.8)^2/26.8 +(24-16.8)^2/16.8 + (10-17.2)^2/17.2 = 10.01
在查表以前應知本題自由度。按x2檢驗的自由度v=(行數-1)(列數-1),則該題的自由度v=(2-1)(2-1)=1,查x2界值表(附表20-1),找到x20.001(1)=6.63,原地方是否差錯了?而本題x2=10.01即x2>x20.001(1),P<0.01,差別有高度統計學意義,按α=0.05水準,拒絕假設獨立,能夠認爲採用化療加放療治療卵巢癌的療效比單用化療佳。
(2)數值數據的協方差與相關係數:
在機率論與統計學中,協方差和方差是具備相似的度量,協方差是方差在多維隨機變量的擴展,即刻畫隨機變量在其中心位置附近散步程度的數字特徵。
方差:Var(X)=E(X - EX)^2 ; 另EX=a,則 Var(X) = E(X^2) - 2aE(X) +a^2 = E(X^2) - (EX)^2
考慮兩個數值屬性A,B和屢次觀測的集合{(a1, b1), ……(an,bn)},協方差定義爲:
協相關係數的定義:分子分別爲A和B的標準差。 還能夠證實Cov(A,B) = E(A·B) - E(A)·E(B)
容易發現,對於兩個趨向於一塊兒改變的屬性A和B,若是A大於指望A,則B頗有可能大於指望B,那麼此時協方差爲正,且協相關係數>0,若是一個屬性小於指望值,另外一個屬性趨向於大於指望值則,協方差爲負,
若A,B獨立(不具備相關性),那麼協方差爲0,反之不成立。
協方差例子:
交易數據與股票價格的簡化例子,若是股市收到相同的產業趨勢影響,他們的股價會一塊兒漲跌嗎,E(electronics)=(6+5+4+3+2)/5 = 4美圓,E(HighTech)=(20+10+14+5+5)/5=10.8美圓
則協方差爲Cov() = E(A·B)- E(A)·E(B) = 7,則代表是正相關。
四、數據規約(待完善)
五、數據變換與數據離散化(待完善)