discovery in database)的關鍵步驟。
資料挖掘的任務主要是關聯分析、聚類分析、分類、預測、時序模式和偏差分析等。
⑴關聯分析(association analysis)
⑵聚類分析(clustering)
聚類是把資料按照相似性歸納成若幹類别,同一類中的資料彼此相似,不同類中的資料相異。聚類分析可以建立宏觀的概念,發現資料的分布模式,以及可能的資料屬性之間的互相關系。
⑶分類(classification)
分類就是找出一個類别的概念描述,它代表了這類資料的整體資訊,即該類的内涵描述,并用這種描述來構造模型,一般用規則或決策樹模式表示。分類是利用訓練資料集通過一定的算法而求得分類規則。分類可被用于規則描述和預測。
⑷預測(predication)
預測是利用曆史資料找出變化規律,建立模型,并由此模型對未來資料的種類及特征進行預測。預測關心的是精度和不确定性,通常用預測方差來度量。
⑸時序模式(time-series pattern)
時序模式是指通過時間序列搜尋出的重複發生機率較高的模式。與回歸一樣,它也是用己知的資料預測未來的值,但這些資料的差別是變量所處時間的不同。
⑹偏差分析(deviation)
在偏差中包括很多有用的知識,資料庫中的資料存在很多異常情況,發現資料庫中資料存在的異常情況是非常重要的。偏差檢驗的基本方法就是尋找觀察結果與參照之間的差别。
根據資訊存儲格式,用于挖掘的對象有關系資料庫、面向對象資料庫、資料倉庫、文本資料源、多媒體資料庫、空間資料庫、時态資料庫、異質資料庫以及internet等。
4.資料挖掘流程
⑴定義問題:清晰地定義出業務問題,确定資料挖掘的目的。
⑵資料準備:資料準備包括:選擇資料--在大型資料庫和資料倉庫目标中提取資料挖掘的目标資料集;資料預處理--進行資料再加工,包括檢查資料的完整性及資料的一緻性、去噪聲,填補丢失的域,删除無效資料等。
⑶資料挖掘:根據資料功能的類型和和資料的特點選擇相應的算法,在淨化和轉換過的資料集上進行資料挖掘。
⑷結果分析:對資料挖掘的結果進行解釋和評價,轉換成為能夠最終被使用者了解的知識。
⑸知識的運用:将分析所得到的知識內建到業務資訊系統的組織結構中去。
5.資料挖掘的方法
⑴神經網絡方法
神經網絡由于本身良好的魯棒性、自組織自适應性、并行處理、分布存儲和高度容錯等特性非常适合解決資料挖掘的問題,是以近年來越來越受到人們的關注。典型的神經網絡模型主要分3大類:以感覺機、bp反向傳播模型、函數型網絡為代表的,用于分類、預測和模式識别的前饋式神經網絡模型;以hopfield的離散模型和連續模型為代表的,分别用于聯想記憶和優化計算的回報式神經網絡模型;以art模型、koholon模型為代表的,用于聚類的自組織映射方法。神經網絡方法的缺點是"黑箱"性,人們難以了解網絡的學習和決策過程。
⑵遺傳算法
遺傳算法是一種基于生物自然選擇與遺傳機理的随機搜尋算法,是一種仿生全局優化方法。遺傳算法具有的隐含并行性、易于和其它模型結合等性質使得它在資料挖掘中被加以應用。
sunil已成功地開發了一個基于遺傳算法的資料挖掘工具,利用該工具對兩個飛機失事的真實資料庫進行了資料挖掘實驗,結果表明遺傳算法是進行資料挖掘的有效方法之一【4】。遺傳算法的應用還展現在與神經網絡、粗集等技術的結合上。如利用遺傳算法優化神經網絡結構,在不增加錯誤率的前提下,删除多餘的連接配接和隐層單元;用遺傳算法和bp算法結合訓練神經網絡,然後從網絡提取規則等。但遺傳算法的算法較複雜,收斂于局部極小的較早收斂問題尚未解決。
⑶決策樹方法
決策樹是一種常用于預測模型的算法,它通過将大量資料有目的分類,從中找到一些有價值的,潛在的資訊。它的主要優點是描述簡單,分類速度快,特别适合大規模的資料處理。最有影響和最早的決策樹方法是由quinlan提出的著名的基于資訊熵的id3算法。它的主要問題是:id3是非遞增學習算法;id3決策樹是單變量決策樹,複雜概念的表達困難;同性間的互相關系強調不夠;抗噪性差。針對上述問題,出現了許多較好的改進算法,如 schlimmer和fisher設計了id4遞增式學習算法;鐘鳴,陳文偉等提出了ible算法等。
⑷粗集方法
粗集理論是一種研究不精确、不确定知識的數學工具。粗集方法有幾個優點:不需要給出額外資訊;簡化輸入資訊的表達空間;算法簡單,易于操作。粗集處理的對象是類似二維關系表的資訊表。目前成熟的關系資料庫管理系統和新發展起來的資料倉庫管理系統,為粗集的資料挖掘奠定了堅實的基礎。但粗集的數學基礎是集合論,難以直接處理連續的屬性。而現實資訊表中連續屬性是普遍存在的。是以連續屬性的離散化是制約粗集理論實用化的難點。現在國際上已經研制出來了一些基于粗集的工具應用軟體,如加拿大regina大學開發的kdd-r;美國kansas大學開發的lers等。
⑸覆寫正例排斥反例方法
它是利用覆寫所有正例、排斥所有反例的思想來尋找規則。首先在正例集合中任選一個種子,到反例集合中逐個比較。與字段取值構成的選擇子相容則舍去,相反則保留。按此思想循環所有正例種子,将得到正例的規則(選擇子的合取式)。比較典型的算法有michalski的aq11方法、洪家榮改進的aq15方法以及他的ae5方法。
⑹統計分析方法
在資料庫字段項之間存在兩種關系:函數關系(能用函數公式表示的确定性關系)和相關關系(不能用函數公式表示,但仍是相關确定性關系),對它們的分析可采用統計學方法,即利用統計學原理對資料庫中的資訊進行分析。可進行常用統計(求大量資料中的最大值、最小值、總和、平均值等)、回歸分析(用回歸方程來表示變量間的數量關系)、相關分析(用相關系數來度量變量間的相關程度)、差異分析(從樣本統計量的值得出差異來确定總體參數之間是否存在差異)等。
⑺模糊集方法
即利用模糊集合理論對實際問題進行模糊評判、模糊決策、模糊模式識别和模糊聚類分析。系統的複雜性越高,模糊性越強,一般模糊集合理論是用隸屬度來刻畫模糊事物的亦此亦彼性的。李德毅等人在傳統模糊理論和機率統計的基礎上,提出了定性定量不确定性轉換模型--雲模型,并形成了雲理論。
6.評價資料挖掘軟體需要考慮的問題
越來越多的軟體供應商加入了資料挖掘這一領域的競争。使用者如何正确評價一個商業軟體,選擇合适的軟體成為資料挖掘成功應用的關鍵。
評價一個資料挖掘軟體主要應從以下四個主要方面:
⑴計算性能:如該軟體能否在不同的商業平台運作;軟體的架構;能否連接配接不同的資料源;操作大資料集時,性能變化是線性的還是指數的;算的效率;是否基于元件結構易于擴充;運作的穩定性等;
⑵功能性:如軟體是否提供足夠多樣的算法;能否避免挖掘過程黑箱化;軟體提供的算法能否應用于多種類型的資料;使用者能否調整算法和算法的參數;軟體能否從資料集随機抽取資料建立預挖掘模型;能否以不同的形式表現挖掘結果等;
⑶可用性:如使用者界面是否友好;軟體是否易學易用;軟體面對的使用者:初學者,進階使用者還是專家?錯誤報告對使用者調試是否有很大幫助;軟體應用的領域:是專攻某一專業領域還是适用多個領域等;
⑷輔助功能:如是否允許使用者更改資料集中的錯誤值或進行資料清洗;是否允許值的全局替代;能否将連續資料離散化;能否根據使用者制定的規則從資料集中提取子集;能否将資料中的空值用某一适當均值或使用者指定的值代替;能否将一次分析的結果回報到另一次分析中,等等。