數據挖掘的定義
數據挖掘是指從大量的數據中通過算法搜索隱藏于其中信息的過程。
數據挖掘通常與計算機科學有關,并通過統計、在線分析處理、情報檢索、機器學習、專家系統(依靠過去的經驗法則)和模式識別等諸多方法來實現上述目標。
數據挖掘的對象
數據的類型可以是結構化的、半結構化的,甚至是異構型的。發現知識的方法可以是數學的、非數學的,也可以是歸納的。最終被發現了的知識可以用于信息管理、查詢優化、決策支持及數據自身的維護等。
數據挖掘的對象可以是任何類型的數據源。可以是關系數據庫,此類包含結構化數據的數據源;也可以是數據倉庫、文本、多媒體數據、空間數據、時序數據、Web數據,此類包含半結構化數據甚至異構性數據的數據源。?
發現知識的方法可以是數字的、非數字的,也可以是歸納的。最終被發現的知識可以用于信息管理、查詢優化、決策支持及數據自身的維護等。
數據挖掘的步驟
1、定義問題。在開始知識發現之前最先的也是最重要的要求就是了解數據和業務問題。必須要對目標有一個清晰明確的定義,即決定到底想干什么。比如,想提高電子信箱的利用率時,想做的可能是“提高用戶使用率”,也可能是“提高一次用戶使用的價值”,要解決這兩個問題而建立的模型幾乎是完全不同的,必須做出決定。
2、建立數據挖掘庫。建立數據挖掘庫包括以下幾個步驟:數據收集,數據描述,選擇,數據質量評估和數據清理,合并與整合,構建元數據,加載數據挖掘庫,維護數據挖掘庫。
3、分析數據。分析的目的是找到對預測輸出影響最大的數據字段,和決定是否需要定義導出字段。如果數據集包含成百上千的字段,那么瀏覽分析這些數據將是一件非常耗時和累人的事情,這時需要選擇一個具有好的界面和功能強大的工具軟件來協助你完成這些事情。?
4、準備數據。這是建立模型之前的最后一步數據準備工作。可以把此步驟分為四個部分:選擇變量,選擇記錄,創建新變量,轉換變量。?
5、建立模型。建立模型是一個反復的過程。需要仔細考察不同的模型以判斷哪個模型對面對的商業問題最有用。先用一部分數據建立模型,然后再用剩下的數據來測試和驗證這個得到的模型。有時還有第三個數據集,稱為驗證集,因為測試集可能受模型的特性的影響,這時需要一個獨立的數據集來驗證模型的準確性。訓練和測試數據挖掘模型需要把數據至少分成兩個部分,一個用于模型訓練,另一個用于模型測試。
6、評價模型。模型建立好之后,必須評價得到的結果、解釋模型的價值。從測試集中得到的準確率只對用于建立模型的數據有意義。在實際應用中,需要進一步了解錯誤的類型和由此帶來的相關費用的多少。經驗證明,有效的模型并不一定是正確的模型。造成這一點的直接原因就是模型建立中隱含的各種假定,因此,直接在現實世界中測試模型很重要。先在小范圍內應用,取得測試數據,覺得滿意之后再向大范圍推廣。?
7、實施。模型建立并經驗證之后,可以有兩種主要的使用方法。第一種是提供給分析人員做參考;另一種是把此模型應用到不同的數據集上。
數據挖掘的方法
1、分類。它首先從數據中選出已經分好類的訓練集,在該訓練集上運用數據挖掘技術,建立一個分類模型,再將該模型用于對沒有分類的數據進行分類。
2、估值。估值與分類類似,但估值最終的輸出結果是連續型的數值,估值的量并非預先確定。估值可以作為分類的準備工作。?
3、預測。它是通過分類或估值來進行,通過分類或估值的訓練得出一個模型,如果對于檢驗樣本組而言該模型具有較高的準確率,可將該模型用于對新樣本的未知變量進行預測。
4、相關性分組或關聯規則。其目的是發現哪些事情總是一起發生。
5、聚類。它是自動尋找并建立分組規則的方法,它通過判斷樣本之間的相似性,把相似樣本劃分在一個簇中。
數據挖掘算法
1、神經網絡法
神經網絡法是模擬生物神經系統的結構和功能,是一種通過訓練來學習的非線性預測模型,它將每一個連接看作一個處理單元,試圖模擬人腦神經元的功能,可完成分類、聚類、特征挖掘等多種數據挖掘任務。神經網絡的學習方法主要表現在權值的修改上。其優點是具有抗干擾、非線性學習、聯想記憶功能,對復雜情況能得到精確的預測結果;缺點首先是不適合處理高維變量,不能觀察中間的學習過程,具有“黑箱”性,輸出結果也難以解釋;其次是需較長的學習時間。神經網絡法主要應用于數據挖掘的聚類技術中。
2、決策樹法
決策樹是根據對目標變量產生效用的不同而建構分類的規則,通過一系列的規則對數據進行分類的過程,其表現形式是類似于樹形結構的流程圖。最典型的算法是J.R.Quinlan于1986年提出的ID3算法,之后在ID3算法的基礎上又提出了極其流行的C4.5算法。采用決策樹法的優點是決策制定的過程是可見的,不需要長時間構造過程、描述簡單,易于理解,分類速度快;缺點是很難基于多個變量組合發現規則。決策樹法擅長處理非數值型數據,而且特別適合大規模的數據處理。決策樹提供了一種展示類似在什么條件下會得到什么值這類規則的方法。比如,在貸款申請中,要對申請的風險大小做出判斷。
3、遺傳算法
遺傳算法模擬了自然選擇和遺傳中發生的繁殖、交配和基因突變現象,是一種采用遺傳結合、遺傳交叉變異及自然選擇等操作來生成實現規則的、基于進化理論的機器學習方法。它的基本觀點是“適者生存”原理,具有隱含并行性、易于和其他模型結合等性質。主要的優點是可以處理許多數據類型,同時可以并行處理各種數據;缺點是需要的參數太多,編碼困難,一般計算量比較大。遺傳算法常用于優化神經元網絡,能夠解決其他技術難以解決的問題。?
4、粗糙集法
粗糙集法也稱粗糙集理論,是由波蘭數學家Z Pawlak在20世紀80年代初提出的,是一種新的處理含糊、不精確、不完備問題的數學工具,可以處理數據約簡、數據相關性發現、數據意義的評估等問題。其優點是算法簡單,在其處理過程中可以不需要關于數據的先驗知識,可以自動找出問題的內在規律;缺點是難以直接處理連續的屬性,須先進行屬性的離散化。因此,連續屬性的離散化問題是制約粗糙集理論實用化的難點。粗糙集理論主要應用于近似推理、數字邏輯分析和化簡、建立預測模型等問題。
5、模糊集法
模糊集法是利用模糊集合理論對問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。模糊集合理論是用隸屬度來描述模糊事物的屬性。系統的復雜性越高,模糊性就越強。
6、關聯規則法
關聯規則反映了事物之間的相互依賴性或關聯性。其最著名的算法是R.Agrawal等人提出的Apriori算法。其算法的思想是:首先找出頻繁性至少和預定意義的最小支持度一樣的所有頻集,然后由頻集產生強關聯規則。最小支持度和最小可信度是為了發現有意義的關聯規則給定的2個閾值。在這個意義上,數據挖掘的目的就是從源數據庫中挖掘出滿足最小支持度和最小可信度的關聯規則。
編輯:jq
評論
查看更多