機器學(xué)習(xí)-數(shù)據(jù)預(yù)處理

1、引言

數(shù)據(jù)預(yù)處理的主要任務(wù)如下:
(1)數(shù)據(jù)清理:填寫空缺值,平滑噪聲數(shù)據(jù),識別,刪除孤立點,解決不一致性
(2)數(shù)據(jù)集成:集成多個數(shù)據(jù)庫,數(shù)據(jù)立方體,文件
(3)數(shù)據(jù)變換:規(guī)范化(消除冗余屬性)和聚集(數(shù)據(jù)匯總),將數(shù)據(jù)從一個較大的子空間投影到一個較小的子空間
(4)數(shù)據(jù)歸約:得到數(shù)據(jù)集的壓縮表示,量小,但可以得到相近或相同的結(jié)果
(5)數(shù)據(jù)離散化:數(shù)據(jù)規(guī)約的一部分,通過概念分層和數(shù)據(jù)的離散化來規(guī)約數(shù)據(jù),對數(shù)字型數(shù)據(jù)比較重要。

2、數(shù)據(jù)清理

2.1 處理空缺值

處理空缺值的方法主要有:
忽略該記錄;
去掉屬性;
手工填寫空缺值;
使用默認值;
使用屬性平均值;
使用同類樣本平均值;
預(yù)測最可能的值。

2.2 處理噪聲數(shù)據(jù)

處理噪聲數(shù)據(jù)的方法主要有:分箱;聚類;計算機和人工檢查結(jié)合;回歸。

分箱

首先來說一下分箱,大家可能對這個過程比較陌生,分箱方法是一種簡單常用的預(yù)處理方法,通過考察相鄰數(shù)據(jù)來確定最終值。所謂“分箱”,實際上就是按照屬性值劃分的子區(qū)間,如果一個屬性值處于某個子區(qū)間范圍內(nèi),就稱把該屬性值放進這個子區(qū)間所代表的“箱子”內(nèi)。把待處理的數(shù)據(jù)(某列屬性值)按照一定的規(guī)則放進一些箱子中,考察每一個箱子中的數(shù)據(jù),采用某種方法分別對各個箱子中的數(shù)據(jù)進行處理。在采用分箱技術(shù)時,需要確定的兩個主要問題就是:如何分箱以及如何對每個箱子中的數(shù)據(jù)進行平滑處理。
分箱的方法:有4種:等深分箱法、等寬分箱法、最小熵法和用戶自定義區(qū)間法。
統(tǒng)一權(quán)重,也成等深分箱法,將數(shù)據(jù)集按記錄行數(shù)分箱,每箱具有相同的記錄數(shù),每箱記錄數(shù)稱為箱子的深度。這是最簡單的一種分箱方法。
統(tǒng)一區(qū)間,也稱等寬分箱法,使數(shù)據(jù)集在整個屬性值的區(qū)間上平均分布,即每個箱的區(qū)間范圍是一個常量,稱為箱子寬度。
用戶自定義區(qū)間,用戶可以根據(jù)需要自定義區(qū)間,當用戶明確希望觀察某些區(qū)間范圍內(nèi)的數(shù)據(jù)分布時,使用這種方法可以方便地幫助用戶達到目的。

例:客戶收入屬性income排序后的值(人民幣元):800 1000 1200 1500 1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000,分箱的結(jié)果如下。

統(tǒng)一權(quán)重:設(shè)定權(quán)重(箱子深度)為4,分箱后
箱1:800 1000 1200 1500
箱2:1500 1800 2000 2300
箱3:2500 2800 3000 3500
箱4:4000 4500 4800 5000

統(tǒng)一區(qū)間:設(shè)定區(qū)間范圍(箱子寬度)為1000元人民幣,分箱后
箱1:800 1000 1200 1500 1500 1800
箱2:2000 2300 2500 2800 3000
箱3:3500 4000 4500
箱4:4800 5000

用戶自定義:如將客戶收入劃分為1000元以下、10002000、20003000、3000~4000和4000元以上幾組,分箱后
箱1:800
箱2:1000 1200 1500 1500 1800 2000
箱3:2300 2500 2800 3000
箱4:3500 4000
箱5:4500 4800 5000

分箱之后的數(shù)據(jù)平滑方法主要有:按平均值平滑、按邊界值平滑和按中值平滑。
⑴按平均值平滑
對同一箱值中的數(shù)據(jù)求平均值,用平均值替代該箱子中的所有數(shù)據(jù)。
⑵按邊界值平滑
用距離較小的邊界值替代箱中每一數(shù)據(jù)。
⑶按中值平滑
取箱子的中值,用來替代箱子中的所有數(shù)據(jù)。

聚類

將物理的或抽象對象的集合分組為由類似的對象組成的多個類。找出并清除那些落在簇之外的值(孤立點),這些孤立點被視為噪聲。

回歸

試圖發(fā)現(xiàn)兩個相關(guān)的變量之間的變化模式,通過使數(shù)據(jù)適合一個函數(shù)來平滑數(shù)據(jù),即通過建立數(shù)學(xué)模型來預(yù)測下一個數(shù)值,包括線性回歸和非線性回歸。

計算機和人工檢查結(jié)合

計算機檢測可疑數(shù)據(jù),然后對他們進行人工判斷

3、數(shù)據(jù)集成

將多文件或者多數(shù)據(jù)庫中的異構(gòu)數(shù)據(jù)進行合并,然后存放在一個一致的數(shù)據(jù)存儲中??紤]以下幾個問題:
1.模式匹配
2.數(shù)據(jù)冗余
3.數(shù)據(jù)值沖突

3.1 模式匹配

來自多個數(shù)據(jù)集合的數(shù)據(jù)由于在命名上存在差異導(dǎo)致等價的實體具有不同的名稱,這給數(shù)據(jù)集成帶來了挑戰(zhàn)。怎樣才能更好地對來源不同的多個實體進行匹配是擺在數(shù)據(jù)集成面前的第一個問題,涉及到實體識別問題,主要利用元數(shù)據(jù)來進行區(qū)分。

3.2 數(shù)據(jù)冗余

集成多個數(shù)據(jù)庫時出現(xiàn)冗余數(shù)據(jù)的主要原因:同一屬性在不同的數(shù)據(jù)庫中會有不同的字段名;一個屬性可以由另外一個表導(dǎo)出。
有些冗余可以被相關(guān)分析檢測到:檢測各個屬性之間的相關(guān)性。
事先根據(jù)其元數(shù)據(jù)或相關(guān)性分析對數(shù)據(jù)進行預(yù)處理,就能夠減少或避免結(jié)果數(shù)據(jù)中的冗余與不一致性,提高數(shù)據(jù)挖掘的質(zhì)量。

3.3 數(shù)據(jù)值沖突

數(shù)據(jù)值沖突問題主要表現(xiàn)為來源不同的統(tǒng)一實體具有不同的數(shù)據(jù)值。

4、數(shù)據(jù)變換

數(shù)據(jù)變換涉及以下幾個問題:
1.平滑
2.聚集
3.數(shù)據(jù)概化
4.規(guī)范化

4.1 平滑

去掉數(shù)據(jù)中的噪聲,主要有分箱、回歸和聚類等方法;

4.2 聚集

數(shù)據(jù)匯總,數(shù)據(jù)立方體的構(gòu)建,數(shù)據(jù)立方體的計算/物化(一個數(shù)據(jù)立方體在方體的最底層叫基本方體,基本方體就是已知存在的數(shù)據(jù),對現(xiàn)有的數(shù)據(jù)按照不同維度進行匯總就可以得到不同層次的方體,所有的方體聯(lián)合起來叫做一個方體的格,也叫數(shù)據(jù)立方體。數(shù)據(jù)立方體中所涉及到的計算就是匯總)

4.3 數(shù)據(jù)概化

使用概念分層的方式,利用高層的概念來替換低層或原始數(shù)據(jù);

4.4 規(guī)范化

將數(shù)據(jù)按比例縮放,使這些數(shù)據(jù)落入到一個較小的特定的區(qū)間之內(nèi)。規(guī)范化的三種常用的方式有最大-最小規(guī)范化, z分數(shù)(z-score)規(guī)范化(或零均值規(guī)范化)和小數(shù)定標規(guī)范化。

最大-最小規(guī)范化

最小—最大規(guī)范化對原始數(shù)據(jù)進行線性變換。假設(shè)和分別為屬性A的最大值maxA和最小值minA。最小—最大規(guī)范化通過計算:

把A的值映射到區(qū)間[new_minA,new_maxA]中。
最小—最大規(guī)范化保持原始數(shù)據(jù)值之間的聯(lián)系,但是如果今后的輸入實例落在A的原數(shù)據(jù)值域之外,則該方法將面臨“越界”錯誤。

z分數(shù)規(guī)范化

z分數(shù)規(guī)范化基于A的均值和標準差對屬性值進行規(guī)范化:


當屬性A的實際最小值和最大值未知,或者離群點左右了最小—最大規(guī)范化時,該方法是有效的。

小數(shù)定標規(guī)范化

小數(shù)定標規(guī)范化通過移動屬性A的值的小數(shù)點位置進行規(guī)范化。小數(shù)點的移動位數(shù)依賴于A的最大絕對值:

5、數(shù)據(jù)歸約

數(shù)據(jù)歸約可以用來得到數(shù)據(jù)集的歸約表示,它小得多,但可以產(chǎn)生相同(或幾乎相同的)分析結(jié)果。
常見的數(shù)據(jù)歸約策略有:數(shù)據(jù)立方體聚集、維歸約、數(shù)據(jù)壓縮、數(shù)值歸約。

5.1 數(shù)據(jù)立方體聚集

數(shù)據(jù)立方體是根據(jù)不同的維度對數(shù)據(jù)進行匯總,立方體的越頂層,其匯總程度就越高,數(shù)據(jù)量就越少。對數(shù)據(jù)的表示就越概化。最底層的方體對應(yīng)于基本方體,基本方體對應(yīng)于感興趣的實體。在數(shù)據(jù)立方體中存在著不同級別的匯總,數(shù)據(jù)立方體可以看做方體的格,每一個較高層次的抽象將進一步減少結(jié)果數(shù)據(jù)集。數(shù)據(jù)立方體提供了對預(yù)計算的匯總數(shù)據(jù)的快速訪問,原則是使用與給定任務(wù)相關(guān)的最小方體,并且在可能的情況下,對于匯總數(shù)據(jù)的查詢應(yīng)當使用數(shù)據(jù)立方體。

5.2 維歸約

用來檢測或刪除不相關(guān)的或基本不相關(guān)的屬性或冗余屬性或維,來減少數(shù)據(jù)量。常用的方法:

逐步向前選擇

從空屬性集開始,每次選擇都選擇當前屬性集中最符合的目標,最好的屬性,加到當前的屬性集中,這樣逐步的向前選擇,把有用的屬性一個一個的添加進來。

逐步向后刪除

從屬性全集開始,每次刪除還在當前屬性集中的最不適合的那個屬性,最壞的屬性,這樣一個一個的刪除,最后留下來的就是相關(guān)的屬性。

向前選擇和向后刪除相結(jié)合

每次選擇一個最好的屬性,并且刪除一個最壞的屬性。

判定歸納樹

5.3 數(shù)據(jù)壓縮

數(shù)據(jù)壓縮主要通過使用一些編碼機制來壓縮數(shù)據(jù)集。分為無損壓縮(可以根據(jù)壓縮之后的數(shù)據(jù)完整的構(gòu)造出壓縮之前的數(shù)據(jù)wrar. zip等,如字符串壓縮)和有損壓縮(無法通過壓縮之后的數(shù)據(jù)來完整的構(gòu)造出壓縮之前的數(shù)據(jù),如音頻/視頻壓縮,有時可以在不解壓縮整體數(shù)據(jù)的情況下,重構(gòu)某個片段,主要應(yīng)用于流媒體傳輸)。
兩種有損數(shù)據(jù)壓縮的方法:小波變換和主要成分分析

主成分分析

將原數(shù)據(jù)投影到一個新的空間,通常投影到一個更小的空間(維度減少),而且投影的時候,著力體驗更重要的成分。

小波變換

參考:http://book.2cto.com/201210/5892.html

5.4 數(shù)值歸約

使用較小的,替代的數(shù)據(jù)來估計,替換,表示原數(shù)據(jù)(用參數(shù)模型):通過選擇替代的,較小的數(shù)據(jù)表示形式來減少數(shù)據(jù)量。

方法主要有:

有參方法

使用一個參數(shù)模型來估計數(shù)據(jù),最后只要存儲參數(shù)即可,有線性回歸方法,多元回歸,對數(shù)線性模型(近似離散的多維數(shù)據(jù)概率分布)

無參方法

直方圖(將某屬性的數(shù)據(jù)劃分為不相交的子集或桶,桶中放置該值的出現(xiàn)頻率,其中桶和屬性值的劃分規(guī)則有:等深,等寬,V-最優(yōu),MaxDiff)

聚類

將數(shù)據(jù)集劃分為聚類,然后通過聚類來表示數(shù)據(jù)集,如果數(shù)據(jù)可以組成各種不同的聚類,則該技術(shù)非常有效,反之如果數(shù)據(jù)界線模糊,則該方法無效。數(shù)據(jù)可以分層聚類,并被存儲在多層索引樹中)

選樣

允許用數(shù)據(jù)的較小隨機樣本(子集)表示大的數(shù)據(jù)集。對數(shù)據(jù)集D的樣本選擇方法有:簡單隨機選擇n個樣本,不放回(由D的N個元組中抽取n個樣本),簡單隨機選擇n個樣本,回放(由D的N個元組中抽取n個樣本,元組被抽取后將被回放,同一元組可能再次被抽取到),

聚類選樣

聚類分析和簡單隨機選樣的結(jié)合,D中元組被分入到M個互不相交的聚類中,可以在其中的m個聚類上進行簡單隨機選樣,m<M),分層選樣(D被劃分為互不相交的層,則可通過對每一層的簡單隨機選樣得到D的分層選樣)

6、數(shù)據(jù)離散

我們在跑模型的過程中都離不開特征離散的環(huán)節(jié),特別是一些連續(xù)值范圍絕大的特征,不做離散化處理很容易過擬合,在數(shù)據(jù)特征處理過程中離散可以很好的解決這些問題,包括常知道的分箱處理等頻等距。
從數(shù)據(jù)集的特征按照其取值可以分為連續(xù)特征和離散特征。連續(xù)特征也稱為定量特征,例如人的身高160190cm,年齡1860周歲等等。 離散特征也稱定性特征,如性別(男/女)、學(xué)歷(大專/本/碩/博), 城市(北上廣) 等, 此類特征的值域只限定于較少的取值。連續(xù)特征的取值允許被排序,可進行算術(shù)運算;離散特征的取值有時允許被排序, 但是其不能進行算術(shù)運算。

在我們平時做分類預(yù)測問題過程中存在著大量的連續(xù)特征,基本的年齡、收入、購買頻次/登陸次數(shù)/消費金額等等。 將連續(xù)特征離散化,再將離散化的結(jié)果應(yīng) 用于算法有很多好處。
1 離散化結(jié)果將會減少給定連續(xù)特征值的個數(shù),減小系統(tǒng)對存儲空間的實際需求。
2 離散特征相對于連續(xù)特征來說更接近于知識層面的表示。
3 通過離散化,數(shù)據(jù)被規(guī)約和簡化,對于使用者和專家來說,離散化的數(shù)據(jù)都更易于理解,使用和解釋。
4 離散化處理使得算法的學(xué)習(xí)更為準確和迅速。
5 一系列算法只能應(yīng)用于離散型數(shù)據(jù), 使得離散化處理成為必要,而離散化又使很多算法的應(yīng)用范圍擴展了。

但最優(yōu)離散化問題已經(jīng)被證明是一個NP-hard問題。 離散化的方法有很多,在這里重點介紹離散化過程和不同的方法論。

6.1 離散化步驟

對連續(xù)特征進行離散化處理,一般經(jīng)過以下步驟:
1 對此特征進行排序。特別是對于大數(shù)據(jù)集,排序算法的選擇要有助于節(jié)省時間,提高效率,減少離散化的整個過程的時間開支及復(fù)雜度。
2 選擇某個點作為候選斷點,用所選取的具體的離散化方法的尺度進行衡量此候選斷點是否滿足要求。
3 若候選斷點滿足離散化的衡量尺度, 則對數(shù)據(jù)集進行分裂或合并,再選擇下一個候選斷點,重復(fù)步驟(2)(3)。
4 當離散算法存在停止準則時,如果滿足停止準則,則不再進行離散化過程,從而得到最終的離散結(jié)果。
關(guān)于離散結(jié)果的好壞,還是要看模型的效果。

6.2 離散化方法

(1)分箱 binning:分箱技術(shù)遞歸的用于結(jié)果劃分,可以產(chǎn)生概念分層。
(2)直方圖分析 histogram:直方圖分析方法遞歸的應(yīng)用于每一部分,可以自動產(chǎn)生多級概念分層。
(3)聚類分析:將數(shù)據(jù)劃分成簇,每個簇形成同一概念層上的一個節(jié)點,每個簇可再分成多個子簇,形成子節(jié)點。
(4)基于熵的離散化(基于統(tǒng)計學(xué)的)
(5)通過自然劃分分段:將數(shù)值區(qū)域劃分為相對一致的,易于閱讀的,看上去更直觀或自然的區(qū)間。

參考:http://blog.csdn.net/lizhengnanhua/article/details/8982968
http://www.cnblogs.com/zhizhan/p/4676085.html
http://blog.163.com/jw_67/blog/static/13619925620103942348990/
http://www.cnblogs.com/zpfzb2013/p/3936079.html
http://blog.csdn.net/meoop/article/details/40931731
https://zhuanlan.zhihu.com/p/24810288

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容