胡 秀
(荊楚理工學院 計算機工程學院,湖北 荊門 448000)
隨著科學技術不斷發展,計算機信息技術在各個領域中得到了廣泛應用,尤其是在原材料采購、金融、通信等方面,數據存儲和數據處理等技術更是被各個企業用來記錄企業運營過程中各種信息數據的記錄和處理,以方便日后的企業財務管理和信息核對等操作.隨著時間的推移,各個領域的不同企業的數據信息存儲量越來越大,過量信息的處理是各個信息處理行業不得不面對的問題.同時由于這些信息對于日后用戶信息分類、信息推送、企業的決策等方面起著非常重要的作用,不可能人為地刪減信息來減少數據處理工作量,所以如何從爆炸式的數據信息中及時地提取有用的數據進而為企業的各種信息分類和決策提供合理、科學的數據決策依據,已經成為了我們當前面臨的亟需解決的重要課題.為了能夠使海量數據成為寶貴的資源,必須采取數據挖掘技術手段,結合相關的業務決策和企業戰略發展計劃,才能使企業在經濟全球化的浪潮中在競爭日益激烈的環境下奪得先機而立于不敗之地.
數據挖掘的英文名稱為Data Mining(DM),是從企業的大型關系型數據庫中或數據倉庫中提取一些人們感興趣的潛在有用的信息數據處理過程,是一門從大型關系型數據庫或數據倉庫中提取隱含的預測性信息的新技術.

圖1 數據挖掘邏輯結構示意圖
數據挖掘的數據來源是數據挖掘技術處理的大數據,常見數據挖掘的數據來源于有關系型數據庫、事務型數據庫等,然后經過一定的清理和集成的過程以數據倉庫的形式存儲起來,為數據挖掘提供數據源.數據挖掘的邏輯過程是利用人工智能的、機器學習的數據挖掘技術對源數據進行數據處理并提取對企業決策有用的數據過程.數據挖掘的過程是一個完整的系統,是結合了多項技術完整的一個整體.從數據源開始,根據數據的挖掘對于大數據處理的邏輯過程大致可以分為以下:目標數據樣本的準備、數據挖掘過程以及挖掘結果分為三級,包含多個處理步驟,如圖1.所示,為數據挖掘的邏輯過程結構示意圖.
由圖1可知,整個數據挖掘的過程包括從最原始的數據開始數據選取的過程,這里的原始數據一般指的是存在企業各種信息管理數據庫中的海量數據,是雜亂無章的、不能以專業的良好的形式展現出來的原始數據.通數據選取的過程,主要是選擇能夠參與數據挖掘過程的數據,從而生成目標數據.得到目標數據之后,就需要對其進行數據預處理的過程,囊括了數據清洗(Data Cleaning)、數據變換(Data Transformation)、數據集成(Data Integration)、數據簡化(Data Reduction)等數據處理過程,主要包括了消除噪聲數據、推導計算缺值數據、消除重復記錄、按成數據類型轉換等數據操作.得到預處理數據之后,就可以利用數據挖掘的技術,對這些數據進行智能挖掘和分類的過程,主要是基于某種思想,設計相應的算法,最后通過對預處理之后的數據進行數據挖掘算法的處理,最終是生成而分類的數據.當然,這時數據挖掘的過程并沒有結束,這些數據只是以某種數據挖掘的思想進行分類存儲,并沒有以具有現實意義的形式展現出來,所以此時還需要開發人員,基于自己的業務邏輯和需求,開發相應的分析或評估功能,對數據挖掘之后的數據進行形象顯示,從而形成對企業有用的知識.
數據預處理是數據挖掘過程中必不可少的一部分,進行數據預處理過程的主要原因是因為從原始數據選取的目標數據,是以原有的數據庫初始定義的格式和結構進行存儲的數據,存在很多空白數據、重復數據、復雜數據、不可用數據等,這些數據對于數據挖掘來說非常不適用,而且會增加數據挖掘的復雜度,所以需要數據預處理的過程來對目標數據進行預處理,從而生成預處理之后的數據.由圖1.可以看出,數據預處理的過程對于數據挖掘來說是非常重要的,是為后期數據挖掘過程奠定堅實基礎的過程.常見的數據預處理的過程包括,數據清洗(Data Cleaning)、數據變換(Data Transformation)、數據集成(Data Integration)、數據簡化(Data Reduction)等內容.其中數據清洗(Data Cleaning)的主要操作就是在根據一定的原則和規定對目標數據樣本進行消除無關數據或者噪聲數據的操作,包括處理數據樣本內的重復數據以及缺省數據等.數據變換(Data Transformation)的操作主要是對處理后的數據進行降維處理,從而消除原始特征力度無效屬性,找到真正有用的特征,以方便后期數據挖掘的處理和計算.數據集成(Data Integration)的操作主要是合并目標數據樣本內存在的異構數據,主要包括數據的選擇、不同數據庫文件之間的數據沖突以及不一致等問題的處理操作.數據簡化(Data Reduction)的過程是在挖掘目標的有用特征以及對數據自身內容理解的基礎上,盡量保持目標數據樣本原有的數據特性的基礎上,最大限度地對目標數據樣本進行精簡處理的過程,主要包括數據樣本的參考屬性選擇以及數據抽樣的數據處理.
數據預處理的主要方法是填充目標數據缺失值、消弱噪聲數據、數據集成等.
在我們設計信息管理系統伊始,會考慮到各種各樣的問題,所以在設計數據存儲表時會牽涉到各方面的信息,而在實際的應用過程中,之前設計的數據表的內容有很多時候并未有實際的數據,而是使用了缺失值存儲,如果這些數據作為數據挖掘處理,會帶來諸多不便,所以對于這些缺失值的處理,可以直接使用人工填寫的方法來彌補缺失值,或者用該字段的所有屬性值的均值,其他同類的屬性值,利用回歸或貝葉形式化的推理工具得出的最有可能值或最鄰近的值的來代替,從而對缺失值進行填充彌補,形成完成的數據.
此外,在目標數據中,統一類的屬性值可能有某些偏離正常數據,這些數據我們稱之為噪聲數據,對于噪聲數據的數據預處理也需要專門的方法或技術來對其進行噪聲消除.常見的方法有分箱法,即對某一個區域內的近鄰數據進行觀察,從而形成局部噪聲消除;回歸法則是利用回歸函數找出某兩個屬性值的回歸線,通過一個屬性來對另外一個屬性進行預測;中心點距離法就是計算目標數據的該屬性值的平均值,然后計算所有數據對象與中心點的歐氏距離,并對其進行排序,而后根據數據性質和背景知識確定一個距離閾值,而與中心點距離大于該閾值的數據對象則為孤立點.
在我們設計信息系統數據表時,各個表格之間需要存在一些冗余來提高各個表之間的關聯性,方便信息系統的數據表的關聯查詢.這也就導致了在得到的目標數據中,可能是因為數據信息的相同或者業務邏輯數據信息的類似,會有一部分的數據信息冗余,這些冗余對于數據挖掘來說也是沒有必要的,或者最后需要數據挖掘的對象是來自不通數據庫內容的信息,所以要通過數據集成的方法來對冗余數據或者不同數據結構的數據進行集成.在使用數據集成的方法來對數據信息進行預處理時,需要考慮到以下問題,第一就是集成的模式與原數據對象之間的匹配度的問題,現實生活中的很多數據存儲的形式多種多樣,在數據庫存儲的格式、類型、形式也不盡相同,而統一業務數據在不同的數據庫之間存儲后,能否最終以一種統一的數據格式來存儲;第二個問題就是不同屬性之間的冗余度的問題,不同的屬性值之間是否冗余,是否需要刪除某個屬性值來使最終得到的數據最大化精簡.關于不同屬性之間的相關度,可以通過專門的公式進行計算,假如判斷A屬性和B屬性兩者之間是否是相互冗余的,可以通過以下公式來計算.

其中,N為A或者B屬性值的個數,ai或bi為A,B屬性的各個屬性值,A軍,B軍為 A,B屬性的平均值,σA和 σB分別為兩個屬性的標準差,屬性的叉積的和.根據上述公式對A,B兩種屬性進行判斷,如果rA,B的值大于0,則說明二個屬性是正相關,而且該值越大,這說明相關性越強,也就說明A,B二者之間存在數據冗余,可以刪除其中一個屬性.
數據預處理是數據挖掘的一個前期過程,是一個完整的數據操作階段,上述的數據預處理的操作步驟和預處理方法都是在數據預處理過程中應用到的.在整個數據預處理的過程中,首先需要得到目標數據,然后利用數據清洗、數據變換、數據集成、數據簡化等數據挖掘的操作,利用填充缺失值、弱化噪聲數據、數據集成等數據預處理方法,來完成數據預處理的過程.整個過程的實施,可以通過人工檢查的方式來實現,也可以通過編寫專門的數據預處理軟件來實現,或針對某個特定區域或接近某一類應用于的數據預處理問題等來實現數據預處理的前期操作.然后要遵循某種模式或者基于某種統計方法、識別方法等發現目標數據中的異常數據,同時對這些異常數據進行處理,例如通過校驗的方法來識別元素的一致性以及內容上的錯誤,通過觀察記錄來找出數據中的重復或異常的數據等.最后要對這些數據進行記錄,并以檔案化的形式存儲起來,從而使用戶對數據有更加深刻的認識.
數據挖掘的過程是一個復雜的過程,數據預處理是數據挖掘中對目標數據進行預先處理的過程,為后期的數據挖掘過程奠定基礎.主要的數據預處理操作包括數據清洗、數據變換、數據集成、數據簡化等,并通過填充缺失值、弱化噪聲數據、數據集成等技術并給予專門的數據預處理的流程來實現數據挖掘中的數據預處理的過程.
〔1〕白鳳偉.數據預處理系統的幾個關鍵技術研究與實現[D].北京交通大學,2012.
〔2〕羅錦坤.數據預處理關鍵技術應用研究[J].福建電腦,2014.
〔3〕解二虎.數據挖掘中數據預處理關鍵技術研究[J].科技通報,2013(12).