郭佳
(蘭州石化職業技術學院信息處理與控制工程系,甘肅 蘭州 730060)
數據挖掘作為近年來新興的一種數據處理技術,不僅被許多研究人員看作是數據庫系統和機器學習方面一個重要的研究課題,而且已經被工商界人士看作是一個能帶來巨大回報的重要領域。
目前有關數據挖掘的定義有很多,一種比較公認的定義如下:
數據挖掘是指從大量數據中抽取隱含的、不為人知的、有用的信息。數據挖掘被描述為從大型數據庫的數據中提取人們感興趣的知識。這些知識是隱含的、事先未知的潛在有用信息,提取的知識表示為概念(Concepts)、規則(Rules)、規律(Regularities)、模式(Patterns)等形式。試圖創建一個數據庫中描述的復雜世界的簡單模型,因而我們也可以說數據挖掘是處理大量信息的方法,并且它有助于以比人更快的速度發現有用的信息。
數據挖掘的任務就是從數據集中發現模式。模式可以有很多種,按功能可分為兩大類:預測型(Predictive)模式和描述型(Descriptive)模式。具體任務主要有以下幾種:
2.1 分類:用于預測事件所屬的類別,其中樣本數據中包含標識樣本事件所屬類別的數據項,類別是已知的,由數據挖掘根據樣本數據構建對這些類別的模式的描述,再利用所發現的模式,參照新的數據的特征變量,將其映射入已知類別中。
2.2 聚類:用于描述和發現數據庫中以前未知的數據類型,其中樣本數據中不包含類別變量,數據挖掘將具有共同趨勢和模式的數據元組聚集為一類,使類內各元組相似程度最高,類間差異最大。
2.3 關聯規則:用于發現給定事件或紀錄中經常一起發生的項目,由此推斷事件間潛在的關聯,識別有可能重復發生的模式。
2.4 序列模式:與關聯分析相似,只是擴展為一段時間的項目集間的關系。常把序列模式看作由時間變量連接起來的關聯。序列分析可分析長時間的相關紀錄,發現經常發生的模式。
數據挖掘中采用的方法綜合了數據庫、人工智能、統計學、模式識別、機器學習、數據分析等領域的研究成果。下面我們給出主要數據挖掘方法:
決策樹的每個內部節點表示在一個屬性上的測試,每個分支表示一個測試的輸出,每個樹葉節點表示類和類的分布。構造一個決策樹分類器通常分為兩步:樹的生成和剪枝。樹的生成采用自上而下的遞歸分治法。剪枝就是使用統計度量,剪去那些不可靠的分枝。ID3及其后續版本C4.5,C5是使用最為廣泛的決策樹方法,采用信息嫡增益及其改進增益率進行屬性選擇。
關聯規則挖掘需要找出的是支持率和置信度分別大于或等于用戶指定的臨界值的關聯規則。關聯規則挖掘過程分為兩步:首先找出所有的頻繁項目集及其支持率;然后根據找到的頻繁項目集導出所有的置信度大于或等于用戶指定的最小置信度的關聯規則。關聯規則的研究一般都在尋找頻繁項目集上。
聚類是按照某個特定標準 (通常是某種距離)把一個數據集分割成不同的類,使得類內相似性盡可能的大;同時,類間的區別性也盡可能的大。聚類方法可以劃分為以下幾類:①劃分方法;②層次方法;③基于密度的方法;④基于網格的方法;⑤基于模型的方法等。
遺傳算法是Holland于1967年提出的[1],模擬生物進化過程的計算模型,是自然遺傳學和計算機科學相互結合滲透而形成的新的計算方法。遺傳算法由3個基本算子組成:繁殖、交叉和變異。遺傳算法已在優化計算和分類機器學習方面顯示了明顯的優勢。
粗糙集理論是上世紀八十年代初Z.Pawlak針對G.Firege的邊界域思想提出的[2],基于給定訓練數據內部的等價類,用上、下近似集合來逼近數據庫中的不精確概念。用于分類,可以發現不準確數據或噪聲數據內在的結構聯系;用于屬性約簡,可以識別和刪除無助于給定訓練數據分類的屬性;用于相關分析,可以根據分類任務評估每個屬性的貢獻或意義。其主要思想是在保持分類能力不變的前提下,通過知識約簡,導出問題的決策或分類規則。
支持向量機方法是建立在統計學習理論的VC維理論和結構風險最小原理基礎上的一種新的學習方法,是根據有限的樣本信息在模型復雜性和學習能力之間尋求最佳折衷,以期獲得最好的泛化能力。它是Vapnik于1995年提出的,近年受到國際學術界的高度重視。
數據挖掘算法是對數據挖掘方法的具體實現,其好壞將直接影響到所發現知識的好壞,因此選取適當的算法或算法組合至關重要,目前對數據挖掘的研究也主要集中在算法及其應用方面。一般來說,不存在一個普遍適用的算法,一個算法在某個領域非常有效,但在另一個領域卻可能不太合適。因此,在實際應用中要針對具體應用的目標和情況,精心選擇有效的數據挖掘算法。
數據挖掘的實施大體可分為以下三步:數據準備、數據挖掘、結果表達和解釋,其中數據準備又可以劃分為數據集成、數據選擇、預處理三個階段,結果表達和解釋包含模式評估和知識表示的內容。
數據準備的過程是整理原始數據,給數據挖掘過程提供可供挖掘的材料。數據準備過程按照數據的處理順序可以細分為若干個階段,數據集成是將多種數據源組合在一起,開始著手提供發現任務的操作對象,這個過程中也進行數據清理工作,對各個數據源中的噪音數據和不一致數據進行處理,可能包括補充殘缺值、消除重復記錄、完成數據類型轉換等內容。數據選擇從完成數據集成后的數據庫中檢索和分析任務相關的數據作為發現任務的操作對象,形成目標數據。數據預處理將數據變換為適合挖掘的形式,如匯總或聚集操作、屬性量化或數據降維等。
數據挖掘階段首先要確定挖掘任務中要找的模式類型,也就是要確定挖掘的任務和目的,數據挖掘任務一般可以分為兩類:描述和預測。描述性任務刻劃數據集中數據的一般特征,預測性任務在當前數據集上進行推斷,以進行預測。其次還要考慮采用什么樣的挖掘算法,對于同樣的任務類型可能存在多種算法實現,此時要考慮數據集的具體特點和表現形式,對比各種挖掘算法,對各種算法的要求和前提假設要有充分的理解,然后最終確定合適的算法類型。
數據挖掘系統具有產生數以千計、甚至上萬的模式或規則的潛在能力。在這些模式中,用戶只對其中的一小部分模式感興趣,這就需要數據挖掘系統能提供對各種模式的評估能力,依據用戶對模式的興趣度進行評估,剔除掉大多數無關模式,把能夠表示知識的有趣模式提交給用戶。知識發現由于最終是面向人類用戶的,因此可能要對發現的模式進行可視化,或把結果轉換為用戶易于理解的另一種表示方式。
[1]Holland J H.Adaptation in natural and artificialsystems [M].Univ of Michigan Press,Ann Arbor Mich,1975
[2]Pawlak Z.Rough sets[J].International journal of computer & information sciences.1982,11(5):341-356