周黨生
(青島科技大學,山東 青島 266000)
隨著人類的進步社會的發(fā)展,信息和科學技術也飛速前進,大數(shù)據(jù)成長勢頭愈發(fā)迅猛,各個行業(yè)也以極快的速度產(chǎn)生海量的且形式各異的數(shù)據(jù)信息。但是,從這些大量數(shù)據(jù)中提取出的有用的信息卻是相當匱乏的,若沒有一個系統(tǒng)性的提取工具,那么提取有用信息的效率是相當?shù)拖碌?。所以,各種數(shù)據(jù)挖掘工具隨著時代的需求應運而生。然而,隨著挖掘工具的實際應用,人們發(fā)現(xiàn)這些數(shù)據(jù)是不能直接用來挖掘的,是非結構性的,于是,數(shù)據(jù)的預處理成為了擋在大數(shù)據(jù)前進路上的第一個關卡。在真實世界中,數(shù)據(jù)來源各式各樣質量良莠不齊,所以原始數(shù)據(jù)一般是有缺陷的,不完整的,重復的,是極易受侵染的。這樣的數(shù)據(jù)處理起來不僅效率低下而且結果也不盡人意,這種情況下數(shù)據(jù)的預處理顯得尤為重要。一方面,數(shù)據(jù)預處理把原始數(shù)據(jù)規(guī)范化、條理化,最終整理成結構化數(shù)據(jù),極大地節(jié)省了處理海量信息的時間;另一方面,數(shù)據(jù)預處理可以使得挖掘愈發(fā)準確并且結果愈發(fā)真實有效。本文指出了大數(shù)據(jù)背景下處理原始數(shù)據(jù)時極易遇到的難題,并且針對這些難題得出了一些常規(guī)的數(shù)據(jù)預處理方法。在這些方法的應用過程中,刪除多余數(shù)據(jù),撥正偏差數(shù)據(jù),填補不完整數(shù)據(jù),使得數(shù)據(jù)趨向結構化且準確性大幅提高,為下一步工作打下了基礎,極大地節(jié)省了數(shù)據(jù)挖掘的成本。
數(shù)據(jù)預處理在整個大數(shù)據(jù)工作中占據(jù)極其關鍵的位置,在真實世界里,數(shù)據(jù)來源各式各樣質量良莠不齊,所以原始數(shù)據(jù)一般是有缺陷的,不完整的,重復的,是極易受侵染的。這些數(shù)據(jù)完全不適用于直接進行數(shù)據(jù)挖掘,所以為了得出更加準確的結果,我們不得不將原始數(shù)據(jù)進行預處理。從整個大數(shù)據(jù)的處理流程來看, 數(shù)據(jù)預處理技術的水平?jīng)Q定了數(shù)據(jù)的真實性、完整性,對后續(xù)的數(shù)據(jù)分析起到十分關鍵的作用[1]。
數(shù)據(jù)清洗(Data Cleaning)的主要內(nèi)容就是按照一定的規(guī)則和標準把原始數(shù)據(jù)中存在的如數(shù)據(jù)缺失、奇異值和離群點等問題處理掉,也包括處理原始數(shù)據(jù)中留存的重復信息和噪聲干擾。
數(shù)據(jù)集成(Data Integration),數(shù)據(jù)集成顧名思義就是按照一定的特征規(guī)則將數(shù)據(jù)有機地集中,將來源各異的現(xiàn)實世界的數(shù)據(jù)相互匹配和統(tǒng)一的過程。這一過程改善了系統(tǒng)的協(xié)作性和統(tǒng)一性,大大節(jié)省了準備和分析數(shù)據(jù)所需的時間成本,提高了數(shù)據(jù)資源的利用率。這個過程的主要難點包括如何選擇數(shù)據(jù),如何解決數(shù)據(jù)不兼容,如何根據(jù)不同的理論和規(guī)則將數(shù)據(jù)統(tǒng)一起來。例如冗余問題,常用的冗余相關分析方法有皮爾遜積距系數(shù)、卡方檢驗、數(shù)值屬性的協(xié)方差等。
數(shù)據(jù)變換(Data Transformation)是大數(shù)據(jù)工作中的重要一環(huán),就是按照規(guī)則將數(shù)據(jù)進行轉換,使其滿足一定的條件來適用于下一步的工作。是找到數(shù)據(jù)的特征表示,用維變換或轉換來減少有效變量的數(shù)目或找到數(shù)據(jù)的不變式,包括規(guī)格化、切換和投影等操作[2]。它的主要轉換形式:(1)數(shù)據(jù)光滑。即運用分箱、聚類等進行數(shù)據(jù)光滑。(2)數(shù)據(jù)聚集。即將數(shù)據(jù)進行集中匯總。(3)數(shù)據(jù)概化。即用高一級的概念代替低一級的概念。(4)數(shù)據(jù)規(guī)范。把特征數(shù)據(jù)縮放,將原始數(shù)據(jù)映射到指定的區(qū)域中。(5)特征構造。即構造出新的特征并匯合到原本特征集中。(6)規(guī)范化。最小-最大規(guī)范化;零一均值規(guī)范化;小數(shù)定標規(guī)范化。
數(shù)據(jù)歸約(Data Reduction)主要有三個方面:(1)維歸約。利用主成分分析和小波變換將原始數(shù)據(jù)映射到較小的空間,常見算法有:LVF(Las Vegas filter)、MIFS(mutual informationfeature selection)、mRMR(minimum redundancy maxi-mum relevance)、Relief算法等。(2)樣本歸約。從原始數(shù)據(jù)中尋找出一個具有代表性的子集(估計量),使其能夠體現(xiàn)整個原始數(shù)據(jù)集的特征。(3)數(shù)據(jù)壓縮。若可以從處理后的數(shù)據(jù)中重構出原始數(shù)據(jù)且不丟失信息,則稱之為無損的,反之,稱之為有損的。(4)數(shù)值壓縮。原始數(shù)據(jù)可以用較小或較短的數(shù)據(jù)來表示,也可以用數(shù)據(jù)模型來代替。(5)離散化。把數(shù)據(jù)離散化,用有限個區(qū)間數(shù)據(jù)代替原始數(shù)據(jù)。

圖1 數(shù)據(jù)預處理的一般步驟
由于數(shù)據(jù)產(chǎn)生于真實世界里各個真正運轉的系統(tǒng),所以原始數(shù)據(jù)有如下三個典型問題:
(1)無序性。數(shù)據(jù)來源各異并且質量良莠不齊,所以原始數(shù)據(jù)一般是無序雜亂的。原始數(shù)據(jù)都是來源于現(xiàn)實世界各個實際應用的系統(tǒng),因為這些應用系統(tǒng)并沒有統(tǒng)一的標準來要求原始數(shù)據(jù)如何定義,也沒有統(tǒng)一的數(shù)據(jù)表達形式,所以原始數(shù)據(jù)間存在無序雜亂的狀態(tài),且存在大量的無用誤導的數(shù)據(jù),無法拿來直接使用。
(2)重復性。是指對于同一個客觀事物在數(shù)據(jù)庫中存在其兩個或兩個以上完全相同的物理描述。這是應用系統(tǒng)實際使用過程中普遍存在的問題,幾乎所有應用系統(tǒng)中都存在數(shù)據(jù)的重復和信息的冗余現(xiàn)象[3]。
政工部門在企業(yè)中是一個重要部門,其對企業(yè)的發(fā)展起著重要作用。故需要對工作機制進行不斷創(chuàng)新,優(yōu)化工作管理制度,建立適應企業(yè)發(fā)展的管理機制。可以借鑒的建議為在制定企業(yè)管理制度時,將政工工作人員的利益放在第一位,對表現(xiàn)優(yōu)秀的工作人員進行加薪和升職,需要建立合理的獎勵制度和懲罰制度,從而有效提高工作人員對工作的熱情和素質水平。政工工作人員需要留意在工作中遇到的問題,及時處理出現(xiàn)問題。此外,應該及時關注政工工作人員的政治思想,工作態(tài)度和工作人員對工作的反映情況,根據(jù)企業(yè)管理發(fā)展的具體目標完成對政工人員的管理,只有真真正正的考慮政工人員的利益,對企的發(fā)展才會更有益。
(3)缺失性。因為實際應用中的系統(tǒng)存在某些缺陷或是運行不當,可能使得數(shù)據(jù)集的某些屬性值缺失和記錄錯誤,甚關鍵數(shù)據(jù)的缺失導致整個數(shù)據(jù)集的價值大大降低,最后無法得出準確的結果。原始數(shù)據(jù)的缺失信息和隨機信息極多,只有對數(shù)據(jù)進行預處理,處理重復數(shù)據(jù)、缺失數(shù)據(jù)、隨機數(shù)據(jù)、不可用數(shù)據(jù)等原始數(shù)據(jù)存在的問題,下一步的數(shù)據(jù)挖掘工作才能更準確地展開。因此,數(shù)據(jù)預處理是數(shù)據(jù)挖掘前的一個非常重要的數(shù)據(jù)準備工作,是知識發(fā)現(xiàn)過程(knowledge discov-ery in database,KDD)的關鍵環(huán)節(jié)之一[4]。
數(shù)據(jù)預處理對下一步的工作來說是非常關鍵的,它直接影響最終的結果。針對"問題數(shù)據(jù)"比較典型的數(shù)據(jù)預處理方法:缺失值處理、異常值處理、重復值處理、去噪聲等。

圖2 問題數(shù)據(jù)種類
1)刪除。當缺失值樣本對總體樣本的影響不明顯的時候可以通過刪除這種簡單有效的方法來解決問題,但是這種方法的缺陷也比較明顯,若刪除的缺失值恰好是關鍵需要的數(shù)據(jù),則會直接影響到后續(xù)工作并且最終結果會產(chǎn)生較大偏移。
2)人工填補。只有用戶自己最了解自己的數(shù)據(jù),所以通過人工填補的方法處理缺失值產(chǎn)生的數(shù)據(jù)偏離最小。但是,當數(shù)據(jù)集規(guī)模很大并且缺失值問題較嚴重時會消耗大量的精力和時間,此情況下不建議使用。
3)均值插補。數(shù)據(jù)集中的信息特征分為數(shù)據(jù)特征和非數(shù)據(jù)特征,如果數(shù)據(jù)集中的缺失值是數(shù)據(jù)特征,則根據(jù)此特征上其他對象的值的平均值來賦予該缺失的特征值;如果數(shù)據(jù)集中的缺失值是非數(shù)據(jù)特征,那就根據(jù)此特征值上其他對象的眾數(shù)來賦予該缺失的特征值。
4)就近補齊。對于存在缺失值的特征,就近補齊是在所有數(shù)據(jù)集中找與之最相近的特征,然后用這個相近特征的值進行填充。但是此方法中的“相近”這一概念沒有統(tǒng)一的標準,有較強的主觀影響,可能造成較大的數(shù)據(jù)偏離。
5)多重插補。主要有三步:①為每個缺失值都生成一套可以用來填補的值,產(chǎn)生若干完整數(shù)據(jù)集。②用對完整數(shù)據(jù)的統(tǒng)計分析方法對每個插補數(shù)據(jù)集合進行統(tǒng)計分析。③根據(jù)分析結果進行評析,選擇最優(yōu)的插補值。
6)回歸。在完整數(shù)據(jù)集的前提下建立回歸模型,將已知的特征值帶入模型預測出未知的特征值,然后將此預測值填補缺失部分。
7)極大似然估計。一般常見的缺失值填補算法包括EM最大期望值算法(expectation-maximization algorithm)、MI算法(multiple imputa-tion)和KNNi算法(k-nearest neighbor imputation)等。
1)簡單統(tǒng)計分析。例如對男性成人身高這個特征值進行規(guī)范統(tǒng)計:身高區(qū)間是[1.3:2.3],若樣本中的某個身高值不在這個區(qū)間內(nèi),則說明這個身高值屬于異常值。
2)3δ原則。根據(jù)正態(tài)分布定義可知P(|x-μ|>3δ)<=0.003,這種事件發(fā)生的概率不超過0.003,常規(guī)情況下不會發(fā)生,所以我們默認當樣本的距離的平均值大于3δ時該樣本為異常值。
3)基于模型判別。根據(jù)完整數(shù)據(jù)建立一個模型,其中不能同數(shù)據(jù)模型擬合的值就是異常值。
4)基于密度判別。當一個點的局域密度與其近鄰的點的局域密度有顯著不同時,我們可以判斷這個點是異常的。
5)處理方法:刪除;按照缺失值的方法來處理;用平均值修正。
1)分箱法。將預處理的數(shù)據(jù)分散到若干個箱中,考察數(shù)據(jù)近鄰的噪聲數(shù)據(jù)值來光滑有序數(shù)據(jù)值。分箱的具體方法有三種:用箱平均值光滑,用箱中所有值的平均值代替箱中的每一個值; 用中位數(shù)光滑,即用箱中所有值的中位數(shù)代替箱中的每一個值; 用箱邊界光滑,將箱中的最值視為兩邊界,箱中的值都被更近的邊界值所代替。
2)聚類法。用聚類的方法找出并刪除孤立于簇之外的值,這些孤立點就是噪音。噪聲過濾的常用算法包括IPF算法(itera-tive partitioning filter)、EF算法(ensemble filter)[5]。
重復數(shù)據(jù)即兩次甚至多次出現(xiàn)的數(shù)據(jù),因為在整體樣本中占得比例大于其他類型的數(shù)據(jù)問題而更容易令結果出現(xiàn)傾向性,因此處理重復值的方法一般是降低重復值的權重,對于重復數(shù)量不多的重復值可以使用直接刪除這種簡單方法。對那些可控的也就是數(shù)量不多的重復數(shù)據(jù),一般是將其帶入代碼中進行匹配進而刪除多余的不需要的數(shù)據(jù)。一種混合刪除機制(Hy-Dedup),Hy-Dedup能把離線刪除和在線刪除結合起來,先使用在線刪除把重復數(shù)據(jù)刪除節(jié)約存儲空間,接著再使用離線刪除將未能在線刪除和刪除不徹底的重復數(shù)據(jù)刪除。
隨著時間的推進,大數(shù)據(jù)發(fā)展日新月異,各種行業(yè)以及新興科技都會對數(shù)據(jù)預處理的發(fā)展產(chǎn)生巨大的推動作用,經(jīng)過數(shù)據(jù)的預處理工作,刪除冗余數(shù)據(jù),填補不完整數(shù)據(jù),撥正偏差數(shù)據(jù),將數(shù)據(jù)清洗后再挑選出必要的數(shù)據(jù)進行集成,達到數(shù)據(jù)格式一致、表達簡練、存儲形式統(tǒng)一。本文主要闡述了數(shù)據(jù)預處理的幾種典型方法,實際上由于外部環(huán)境干擾因素太多太雜,同時又因為各行各業(yè)對數(shù)據(jù)的要求形式不同,造成原始數(shù)據(jù)極大的不同且存在各樣的問題。所以我們在進行數(shù)據(jù)預處理時應該針對不同的數(shù)據(jù)采用不同的方法,科學地對數(shù)據(jù)對癥下藥,這樣才能把原始數(shù)據(jù)處理的適用于數(shù)據(jù)挖掘。