數據挖掘讀書筆記1——數據預處理


此為讀《數據挖掘概念與技術》一書的隨手摘抄,方便以后查閱。

數據清理
3.2.1 遺漏值
1. 忽略元組:當類標號缺少時通常這樣做(假定挖掘任務涉及分類或描述)。除非元組有多個屬
性缺少值,否則該方法不是很有效。當每個屬性缺少值的百分比很高時,它的性能非常差。
2. 人工填寫遺漏值:一般地說,該方法很費時,並且當數據集很大,缺少很多值時,該方法可能
行不通。
3. 使用一個全局常量填充遺漏值:將遺漏的屬性值用同一個常數(如“Unknown”或 –∞)替換。
如果遺漏值都用“Unknown”替換,挖掘程序可能誤以為它們形成了一個有趣的概念,因為它
們都具有相同的值——“Unknown”。因此,盡管該方法簡單,我們並不推薦它。
4. 使用屬性的平均值填充遺漏值:例如,假定 AllElectronics顧客的平均收入為$28,000,則使用該
值替換 income 中的遺漏值。
5. 使用與給定元組屬同一類的所有樣本的平均值:例如,如果將顧客按 credit_risk 分類,則用具
有相同信用度的顧客的平均收入替換 income 中的遺漏值。
6. 使用最可能的值填充遺漏值:可以用回歸、使用貝葉斯形式化方法或判定樹歸納等基於推導的
工具確定。例如,利用你的數據集中其他顧客的屬性,你可以構造一棵判定樹,來預測 income
的遺漏值。

3.2.2 噪音數據
噪音是測量變量的隨機錯誤或偏差。下面是一些數據平滑技術。
1. 分箱:分箱方法通過考察“鄰居”(即,周圍的值)來平滑存儲數據的值。存儲的值被分布到一些“桶”或箱中。由於分箱方法導致值相鄰,因此它進行局部平滑。

例:                 price的排序后數據(元):4, 8, 15, 21, 21, 24, 25, 28, 34
                       划分為(等深的)箱:
                       箱1:4, 8, 15     箱2:21, 21, 24    箱3:25, 28, 34                                   
                       用平均值平滑(同理可用中值):                                                                                                                                                 箱1:9, 9, 9       箱2:22, 22, 22     箱3:29, 29, 29                              
                       用邊界平滑(最大和最小為邊界,取最接近的):                                                                                                                                     箱1:4, 4, 15     箱2:21, 21, 24     箱3:25, 25, 34 
2. 聚類:局外者可以被聚類檢測。聚類將類似的值組織成群或“聚類”。直觀地,落在聚類集合之外的值被視為局外者
3. 計算機和人工檢查結合:可以通過計算機和人工檢查結合的辦法來識別局外者。例如,在一種應用中,使用信息理論度量,幫助識別手寫體字符數據庫中的局外者。度量值反映被判斷的字符與已知的符號相比的“差異”程度。其差異程度大於某個閾值的模式輸出到一個表中。人可以審查表中的模式,識別真正的垃圾。
4. 回歸:可以通過讓數據適合一個函數(如回歸函數)來平滑數據。線性回歸涉及找出適合兩個變量的“最佳”直線,使得一個變量能夠預測另一個。多線性回歸是線性回歸的擴展,它涉及多於兩個變量,數據要適合一個多維面。
許多數據平滑的方法也是涉及離散化的數據歸約方法。例如,上面介紹的分箱技術減少了每個屬性的不同值的數量。對於基於邏輯的數據挖掘方法(如判定樹歸納),這充當了一種形式的數據歸約。概念分層是一種數據離散化形式,也可以用於數據平滑。例如,price的概念分層可以把 price的值映射到 inexpensive、moderately_priced 和 expensive,從而減少了挖掘過程所處理的值的數量。

數據集成
有些冗余可以被相關分析檢測到。例如,給定兩個屬性,根據可用的數據,這種分析可以度量一個屬性能在多大程度上蘊涵另一個。屬性 A和 B 之間的相關性(Pearson product coefficient)可用下式度量: 
(此處為舊版,標准差公式里除以的是n-1,新版里3.1公式除以的是n,標准差也是除以n)
(3.1)式的值大於 0,則 A和 B 是正相關的,意味 A 的值隨 B的值增加而增加。該值越大,一個屬性蘊涵另一個的可能性越大。因此,一個很大的值表明 A(或 B)可以作為冗余而被去掉。如果結果值等於 0,則 A 和 B 是獨立的,它們之間不相關。如果結果值小於 0,則 A 和 B 是負相關的,一個值隨另一個減少而增加。這表明每一個屬性都阻止另一個出現。
除了冗余,還要檢測重復的,沖突的。

數據變換
可能涉及如下內容:
平滑:去掉數據中的噪音。這種技術包括分箱、聚類和回歸。
聚集:對數據進行匯總和聚集。例如,可以聚集日銷售數據,計算月和年銷售額。通常,這一步用來為多粒度數據分析構造數據方。
數據泛化:使用概念分層,用高層次概念替換低層次“原始”數據。例如,分類的屬性,如 street,可以泛化為較高層的概念,如 city 或 country。類似地,數值屬性,如 age,可以映射到較高層概念,如 young, middle-age 和 senior。
規范化:將屬性數據按比例縮放,使之落入一個小的特定區間,如-1.0到 1.0 或0.0到 1.0。
屬性構造(或特征構造):可以構造新的屬性並添加到屬性集中,以幫助挖掘過程。 
通過將屬性數據按比例縮放,使之落入一個小的特定區間,如 0.0到 1.0,對屬性規范化。對於距離度量分類算法,如涉及神經網絡或諸如最臨近分類和聚類的分類算法,規范化特別有用。如果使用神經網絡后向傳播算法進行分類挖掘(第7 章),對於訓練樣本屬性輸入值規范化將有助於加快學習階段的速度。對於基於距離的方法,規范化可以幫助防止具有較大初始值域的屬性(例如,income)與具有較小初始值域的屬性(例如,二進位屬性)相比,權重過大。
最小-最大規范化對原始數據進行線性變換。假定minA 和maxA 分別為屬性A的最小和最大值。

z- score規范化(或零-均值規范化)中,屬性 A 的值基於A 的平均值和標准差規范化。A 的
值 v 被規范化為 v’
                         

小數定標規范化通過移動屬性 A 的小數點位置進行規范化。小數點的移動位數依賴於 A 的最大
絕對值。A 的值 v 被規范化為 v’,由下式計算:
                     
其中,j 是使得 Max(|v’|) < 1 的最小整數。
屬性構造是由給定的屬性構造和添加新的屬性,以幫助提高精度和對高維數據結構的理解。例如,我們可能根據屬性 height 和 width 添加屬性 area。屬性結構可以幫助平緩使用判定樹算法分類的分裂問題。

數據歸約
數據歸約的策略如下: 
1. 數據方聚集:聚集操作用於數據方中的數據。 
2. 維歸約:可以檢測並刪除不相關、弱相關或冗余的屬性或維。

屬性子集選擇的基本啟發式方法包括以下技術
1. 逐步向前選擇:該過程由空屬性集開始,選擇原屬性集中最好的屬性,並將它添加到該集合
中。在其后的每一次迭代,將原屬性集剩下的屬性中的最好的屬性添加到該集合中。
2. 逐步向后刪除:該過程由整個屬性集開始。在每一步,刪除掉尚在屬性集中的最壞屬性。
3. 向前選擇和向后刪除的結合:向前選擇和向后刪除方法可以結合在一起,每一步選擇一個最
好的屬性,並在剩余屬性中刪除一個最壞的屬性。
4. 決策樹歸納:ID3,C4.5,CART

3. 數據壓縮:使用編碼機制壓縮數據集。 
小波變換

離散小波變換(DWT)是一種線性信號處理技術,當用於數據向量D 時,將它轉換成不同的數值向量小波系數D’。兩個向量具有相同的長度。小波變換后的數據可以裁減。僅存放一小部分最強的小波系數,就能保留近似的壓縮數據。傅里葉變換(DFT)是一種涉及正弦和余弦的信號處理技術,然而,一般地說,DWT 是一種較好的有損壓縮。小波變換可以用於多維數據,如數據方。可以按以下方法做:首先將變換用於第一個維,然后第二個,如此下去。計算復雜性對於方中單元的個數是線性的。對於稀疏或傾斜數據、具有有序屬性的數據,小波變換給出很好的結果。

流行的小波變換包括Haar_2,Daubechies_4 和Daubechies_6 變換。應用離散小波變換的一般過程使用一種分層金字塔算法,它在
每次迭代將數據減半,導致很快的計算速度。該方法如下:
1. 輸入數據向量的長度L 必須是2 的整數冪。必要時,通過在數據向量后添加0,這一條件可以滿足。
2. 每個變換涉及應用兩個函數。第一個使用某種數據平滑,如求和或加權平均。第二個進行加權
差分,產生數據的細節特征。
3. 兩個函數作用於輸入數據對,產生兩個長度為L/2 的數據集。一般地,它們分別代表輸入數據
的平滑后或低頻的版本和它的高頻內容。
4. 兩個函數遞歸地作用於前面循環得到的數據集,直到結果數據集的長度為2。
5. 由以上迭代得到的數據集中選擇值,指定其為數據變換的小波系數。

主成分分析

假定待壓縮的數據由N 個元組或數據向量組成,取自k-維。主要成分分析(PCA,又稱
Karhunen-Loeve 或K-L 方法)搜索c 個最能代表數據的k-維正交向量;這里c ≤ k。這樣,原來的數
據投影到一個較小的空間,導致數據壓縮。PCA 可以作為一種維歸約形式使用。然而,不象屬性子
集選擇通過保留原屬性集的一個子集來減少屬性集的大小,PCA 通過創建一個替換的、較小的變量
集“組合”屬性的本質。原數據可以投影到該較小的集合中。

1. 對輸入數據規范化,使得每個屬性都落入相同的區間。此步確保具有較大定義域的屬性不會主
宰具有較小定義域的屬性。
2. PCA 計算c 個規范正交向量,作為規范化輸入數據的基。這些是單位向量,每一個都垂直於另
一個。這些向量被稱為主要成分。輸入數據是主要成分的線性組合。
3. 對主要成分按“意義”或強度降序排列。主要成分基本上充當數據的一組新坐標軸,提供重要
的方差信息。即,對軸進行排序,使得第一個軸顯示的數據方差最大,第二個顯示的方差次之,
如此下去。
4. 既然主要成分根據“意義”降序排列,就可以通過去掉較弱的成分(即,方差較小的那些)來
壓縮數據。使用最強的主要成分,應當可能重構原數據的很好的近似值。

與數據壓縮的小波變換相比,PCA 能較好地處理稀疏數據,而小波變換更適合高維數據。

4. 數值壓縮:用替代的、較小的數據表示替換或估計數據,如參數模型(只需要存放模型參數,而不是實際數據)或非參數方法,如聚類、選樣和使用直方圖。
回歸和對數線性模型、直方圖、聚類、選樣
5. 離散化和概念分層產生:屬性的原始值用區間值或較高層的概念替換。概念分層允許挖掘多個抽象層上的數據,是數據挖掘的一種強有力的工具。
五種數值概念分層產生方法:分箱、直方圖分析、聚類分析、基於熵的離散化和通過“自然划分”的數據分段
基於熵的離散化的基本方法如下:

自然划分:3-4-5 規則可以用於將數值數據划分成相對一致、“自然的”區間。一般地,該規則根據最重要的數字上的值區域,遞歸地、逐層地將給定的數據區域划分為3、4 或5 個等長的區間。

數據清理工具(Data scrubbing tool)
數據審計工具(Data auditing tool)
數據遷移工具(Data migration tool)
工具Potter's Wheel   http://control.cs.berkeley.edu/abc/


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: