属性子集选择的基本启发方法_一文看懂数据预处理最重要的3种思想和方法
導讀:本文我們考慮應當采用哪些預處理步驟,讓數據更加適合挖掘。數據預處理是一個廣泛的領域,包含大量以復雜的方式相關聯的不同策略和技術。我們將討論一些最重要的思想和方法,并試圖指出它們之間的相互聯系。
作者:陳封能(Pang-Ning Tan)、邁克爾·斯坦巴赫(Michael Steinbach)等
來源:華章科技
這些重要的思想和方法,具體地說包括:
- 聚集
- 抽樣
- 維歸約
- 特征子集選擇
- 特征創建
- 離散化和二元化
- 變量變換
粗略地說,這些主題分為兩類,即選擇分析所需要的數據對象和屬性,以及創建/改變屬性。這兩種情況的目標都是改善數據挖掘分析工作,減少時間,降低成本,提高質量。
本文將討論聚集、抽樣、維歸約的細節,其余主題請關注大數據DT后續文章,或閱讀《數據挖掘導論》(原書第2版)一書第2.3節。
術語注記:在下面的內容中,我們有時根據習慣用法,使用特征(feature)或變量(variable)指代屬性(attribute)。
01 聚集
有時,“少就是多”,而聚集就是如此。聚集(aggregation)將兩個或多個對象合并成單個對象。考慮一個由事務(數據對象)組成的數據集,它記錄一年中不同日期在各地(Minneapolis Chicago……)商店的商品日銷售情況,見表2.4。
對該數據集的事務進行聚集的一種方法是,用一個商店的事務替換該商店的所有事務。這把每天出現在一個商店的成百上千個事務記錄歸約成單個日事務,而每天的數據對象的個數減少為商店的個數。
▲表2.4 包含顧客購買信息的數據集
在這里,一個顯而易見的問題是如何創建聚集事務,即在創建代表單個商店或日期的聚集事務時,如何合并所有記錄的每個屬性的值。定量屬性(如價格)通常通過求和或求平均值進行聚集。定性屬性(如商品)可以忽略,也可以用更高層次的類別來概括,例如電視和電子產品。
表2.4中的數據也可以看作多維數組,其中每個屬性是一個維。從這個角度,聚集是刪除屬性(如商品類型)的過程,或者是壓縮特定屬性不同值個數的過程,如將日期的可能值從365天壓縮到12個月。這種類型的聚集通常用于聯機分析處理(OnLine Analytical Processing,OLAP),OLAP的引用在參考文獻中給出。
聚集的動機有多種。
首先,數據歸約導致的較小數據集需要較少的內存和處理時間,因此可以使用開銷更大的數據挖掘算法。
其次,通過高層而不是低層數據視圖,聚集起到了范圍或標度轉換的作用。在前面的例子中,在商店位置和月份上的聚集給出數據按月、按商店,而不是按天、按商品的視圖。
最后,對象或屬性群的行為通常比單個對象或屬性的行為更加穩定。這反映了統計學事實:相對于被聚集的單個對象,諸如平均值、總數等聚集量具有較小的變異性。
對于總數,實際變差大于單個對象的(平均)變差,但是變差的百分比較小;而對于均值,實際變差小于單個對象的(平均)變差。聚集的缺點是可能丟失有趣的細節。在商店的例子中,按月的聚集就丟失了星期幾具有最高銷售額的信息。
例2.7 澳大利亞降水量
該例基于澳大利亞從1982年到1993年的降水量。我們把澳大利亞國土按經緯度0.5°乘以0.5°大小分成3030個網格。圖2.8a的直方圖顯示了這些網格單元上的平均月降水量的標準差。而圖2.8b的直方圖顯示了相同位置的平均年降水量的標準差。可見,平均年降水量比平均月降水量的變異性小。所有降水量的測量(以及它們的標準差)都以厘米(cm)為單位。
▲圖2.8 澳大利亞從1982年到1993年月和年降水量標準差的直方圖
02 抽樣
抽樣是一種選擇數據對象子集進行分析的常用方法。在統計學中,抽樣長期用于數據的事先調查和最終的數據分析。在數據挖掘中,抽樣也非常有用。
然而,在統計學和數據挖掘中,抽樣的動機并不相同。統計學家使用抽樣的原因是獲取感興趣的整個數據集的代價太高并且太費時間,而數據挖掘人員進行抽樣,通常是因為處理所有數據所需的內存或時間方面的計算成本太高。在某些情況下,使用抽樣的算法可以壓縮數據量,以便可以使用更好但開銷較大的數據挖掘算法。
有效抽樣的主要原理如下:如果樣本是有代表性的,則使用樣本與使用整個數據集的效果幾乎一樣。反過來說,若樣本近似地具有與原數據集相同的(感興趣的)性質,則稱樣本是有代表性的。如果數據對象的均值(平均值)是感興趣的性質,而樣本具有近似于原數據集的均值,則樣本就是有代表性的。
由于抽樣是一個統計過程,特定樣本的代表性是不一樣的,因此最好能做的就是選擇一個抽樣方案,以確保以很高的概率得到有代表性的樣本。如下所述,這涉及選擇適當的樣本容量以及抽樣技術。
1. 抽樣方法
有許多抽樣技術,但是這里只介紹少量最基本的抽樣技術及其變種。最簡單的抽樣是簡單隨機抽樣(simple random sampling)。對于這種抽樣,選取任何特定項的概率相等。
隨機抽樣有兩種變種(其他抽樣技術也一樣):
當樣本與數據集相比相對較小時,兩種方法產生的樣本差別不大。但是對于分析,有放回抽樣較為簡單,因為在抽樣過程中,每個對象被選中的概率保持不變。
當總體由不同類型的對象組成并且每種類型的對象數量差別很大時,簡單隨機抽樣不能充分地代表不太頻繁出現的對象類型。在分析需要所有類型的代表時,這可能出現問題。例如,當為稀有類構建分類模型時,樣本中適當地提供稀有類是至關重要的,因此需要提供具有不同頻率的感興趣的項的抽樣方案。
分層抽樣(stratified sampling)就是這樣的方法,它從預先指定的組開始抽樣。在最簡單的情況下,盡管每組的大小不同,但是從每組抽取的對象個數相同。另一種變種是從每一組對象抽取的樣本數量正比于該組的大小。
例2.8抽樣與信息損失
一旦選定抽樣技術,就需要選擇樣本容量。較大的樣本容量增大了樣本具有代表性的概率,但也抵消了抽樣帶來的許多好處。反過來,使用較小容量的樣本,可能丟失模式或檢測出錯誤的模式。
圖2.9a顯示了包含8000個二維點的數據集,而圖2.9b和圖2.9c顯示了從該數據集抽取的容量分別為2000和500的樣本。該數據集的大部分結構都出現在2000個點的樣本中,但是許多結構在500個點的樣本中丟失了。
▲圖2.9 抽樣丟失結構的例子
例2.9確定合適的樣本容量
為了說明確定合適的樣本容量需要系統的方法,考慮下面的任務。
給定一個數據集,它包含少量容量大致相等的組。從每組至少找出一個代表點。假定每個組內的對象高度相似,但是不同組中的對象不太相似。圖2.10a顯示了一個理想簇(組)的集合,這些點可能從中抽取。
▲圖2.10 從10個組中找出具有代表性的點
使用抽樣可以有效地解決該問題。一種方法是取數據點的一個小樣本,逐對計算點之間的相似性,然后形成高度相似的點組。從每個點組取一個點,則可以得到具有代表性的點的集合。然而,按照該方法,我們需要確定樣本的容量,它以很高的概率確保得到期望的結果,即從每個簇至少找出一個代表點。
圖2.10b顯示了隨著樣本容量從10變化到60,從10個組的每一個組中得到一個對象的概率。有趣的是,使用容量為20的樣本,只有很小的機會(20%)得到包含所有10個組的樣本。即便使用容量為30的樣本,得到不包含所有10個組中對象的樣本的概率也很高(幾乎40%)。
2. 漸進抽樣
由于可能很難確定合適的樣本容量,因此有時需要使用自適應(adaptive)或漸進抽樣(progressive sampling)方法。這些方法從一個小樣本開始,然后增加樣本容量直至得到足夠容量的樣本。盡管這種技術不需要在一開始就確定正確的樣本容量,但是需要評估樣本的方法,確定它是否足夠大。
例如,假定使用漸進抽樣來學習一個預測模型。盡管預測模型的準確率隨樣本容量的增加而增加,但是在某一點準確率的增加趨于穩定。我們希望在穩定點停止增加樣本容量。通過掌握模型準確率隨樣本逐漸增大的變化情況,并通過選取接近于當前容量的其他樣本,我們可以估計出與穩定點的接近程度,從而停止抽樣。
03 維歸約
數據集可能包含大量特征。考慮一個文檔的集合,其中每個文檔是一個向量,其分量是文檔中每個詞出現的頻率。在這種情況下,通常有成千上萬的屬性(分量),每個代表詞匯表中的一個詞。
再看一個例子,考慮包含過去30年各種股票日收盤價的時間序列數據集。在這種情況下,屬性是特定日期的價格,也數以千計。
維歸約有多方面的好處。關鍵的好處是,如果維度(數據屬性的個數)較低,許多數據挖掘算法的效果就會更好。部分是因為維歸約可以刪除不相關的特征并降低噪聲,另一部分是因為維災難。(維災難在下面解釋。)
還有一個好處是維歸約可以使模型更容易理解,因為模型可能只涉及較少的屬性。此外,維歸約也可以更容易讓數據可視化。即使維歸約沒有將數據歸約到二維或三維,數據也可以通過觀察屬性對或三元組屬性達到可視化,并且這種組合的數目也會大大減少。最后,使用維歸約降低了數據挖掘算法的時間和內存需求。
術語“維歸約”通常用于這樣的技術:通過創建新屬性,將一些舊屬性合并在一起以降低數據集的維度。通過選擇舊屬性的子集得到新屬性,這種維歸約稱為特征子集選擇或特征選擇。
下面簡單介紹兩個重要的主題:維災難和基于線性代數方法(如主成分分析)的維歸約技術。
1. 維災難
維災難是指這樣的現象:隨著數據維度的增加,許多數據分析變得非常困難。特別是隨著維度增加,數據在它所占據的空間中越來越稀疏。因此,我們觀測到的數據對象很可能不是總體數據對象的代表性樣本。
對于分類,這可能意味著沒有足夠的數據對象來創建模型,將所有可能的對象可靠地指派到一個類。對于聚類,點之間的密度和距離的定義(對聚類是至關重要的)失去了意義。
結果是,對于高維數據,許多分類和聚類算法(以及其他的數據分析算法)都麻煩纏身——分類準確率降低,聚類質量下降。
2. 維歸約的線性代數技術
維歸約的一些最常用的方法是使用線性代數技術,將數據由高維空間投影到低維空間,特別是對于連續數據。
主成分分析(Principal Component Analysis,PCA)是一種用于連續屬性的線性代數技術,它找出新的屬性(主成分),這些屬性是原屬性的線性組合,是相互正交的(orthogonal),并且捕獲了數據的最大變差。例如,前兩個主成分是兩個正交屬性,是原屬性的線性組合,盡可能多地捕獲了數據的變差。
奇異值分解(Singular Value Decomposition,SVD)是一種線性代數技術,它與PCA有關,并且也用于維歸約。請參考附錄A和B獲取更多細節。
關于作者:陳封能(Pang-Ning Tan) ,密歇根州立大學計算機科學與工程系教授,主要研究方向是數據挖掘、數據庫系統、網絡空間安全、網絡分析等。
本文摘編自《數據挖掘導論》(原書第2版),經出版方授權發布。
延伸閱讀《數據挖掘導論》(原書第2版)
推薦語:本書為斯坦福大學、密歇根州立大學、明尼蘇達大學、得克薩斯大學等知名高校的數據挖掘課程教材。從算法的角度介紹數據挖掘所使用的主要原理與技術。所涵蓋的主題包括:數據預處理、預測建模、關聯分析、聚類分析、異常檢測和避免錯誤發現。通過介紹每個主題的基本概念和算法,為讀者提供將數據挖掘應用于實際問題所需的必要背景以及方法。
總結
以上是生活随笔為你收集整理的属性子集选择的基本启发方法_一文看懂数据预处理最重要的3种思想和方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸿蒙os2.0开发者beta版,鸿蒙 O
- 下一篇: linux配置端口ipv6地址,linu