『壹』 數據挖掘的方法及實施
數據挖掘的方法及實施
作為一門處理數據的新興技術,數據挖掘有許多的新特徵。首先,數據挖掘面對的是海量的數據,這也是數據挖掘產生的原因。其次,數據可能是不完全的、有雜訊的、隨機的,有復雜的數據結構,維數大。最後,數據挖掘是許多學科的交叉,運用了統計學,計算機,數學等學科的技術。以下是常見和應用最廣泛的演算法和模型:
傳統統計方法:①抽樣技術:我們面對的是大量的數據,對所有的數據進行分析是不可能的也是沒有必要的,就要在理論的指導下進行合理的抽樣。②多元統計分析:因子分析,聚類分析等。③統計預測方法,如回歸分析,時間序列分析等。
可視化技術:用圖表等方式把數據特徵用直觀地表述出來,如直方圖等,這其中運用的許多描述統計的方法。可視化技術面對的一個難題是高維數據的可視化。
決策樹:利用一系列規則劃分,建立樹狀圖,可用於分類和預測。常用的演算法有CART、CHAID、ID3、C4.5、C5.0等。
神經網路:模擬人的神經元功能,經過輸入層,隱藏層,輸出層等,對數據進行調整,計算,最後得到結果,用於分類和回歸。
遺傳演算法:基於自然進化理論,模擬基因聯合、突變、選擇等過程的一種優化技術。
關聯規則挖掘演算法:關聯規則是描述數據之間存在關系的規則,形式為「A1∧A2∧…An→B1∧B2∧…Bn」。一般分為兩個步驟:①求出大數據項集。②用大數據項集產生關聯規則。
除了上述的常用方法外,還有粗集方法,模糊集合方法,Bayesian Belief Netords,最鄰近演算法(k-nearest neighbors method(KNN))等。
數據挖掘的實施流程
前面我們討論了數據挖掘的定義,功能和方法,現在關鍵的問題是如何實施,其一般的數據挖掘流程如下:
問題理解和提出→數據准備→數據整理→建立模型→評價和解釋
問題理解和提出:在開始數據挖掘之前最基礎的就是理解數據和實際的業務問題,在這個基礎之上提出問題,對目標有明確的定義。
數據准備:獲取原始的數據,並從中抽取一定數量的子集,建立數據挖掘庫,其中一個問題是如果企業原來的數據倉庫滿足數據挖掘的要求,就可以將數據倉庫作為數據挖掘庫。
數據整理:由於數據可能是不完全的、有雜訊的、隨機的,有復雜的數掘結構,就要對數據進行初步的整理,清洗不完全的數據,做初步的描述分析,選擇與數據挖掘有關的變數,或者轉變變數。
建立模型:根據數據挖掘的目標和數據的特徵,選擇合適的模型。
評價和解釋:對數據挖掘的結果進行評價,選擇最優的模型,作出評價,運用於實際問題,並且要和專業知識結合對結果進行解釋。
以上的流程不是一次完成的,可能其中某些步驟或者全部要反復進行。
『貳』 數據挖掘中的經典演算法
大家都知道,數據挖掘中有很多的演算法,不同的演算法有著不同的優勢,它們在數據挖掘領域都產生了極為深遠的影響。那麼大家知道不知知道數據挖掘中的經典演算法都有哪些呢?在這篇文章中我們就給大家介紹數據挖掘中三個經典的演算法,希望這篇文章能夠更好的幫助大家。
1.K-Means演算法
K-means algorithm演算法是一個聚類演算法,把n的對象根據他們的屬性分為k個分割,k大於n。它與處理混合正態分布的最大期望演算法很相似,因為他們都試圖找到數據中自然聚類的中心。它假設對象屬性來自於空間向量,並且目標是使各個群組內部的均方誤差總和最小。這種演算法在數據挖掘中是十分常見的演算法。
2.支持向量機
而Support vector machines就是支持向量機,簡稱SV機(論文中一般簡稱SVM)。它是一種監督式學習的方法,這種方法廣泛的應用於統計分類以及回歸分析中。支持向量機將向量映射到一個更高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數據的超平面的兩邊建有兩個互相平行的超平面。分隔超平面使兩個平行超平面的距離最大化。假定平行超平面間的距離或差距越大,分類器的總誤差越小。這些優點也就成就了這種演算法。
3.C4.5演算法
然後我們給大家說一下C4.5演算法,C4.5演算法是機器學習演算法中的一種分類決策樹演算法,其核心演算法是ID3演算法. C4.5演算法繼承了ID3演算法的優點,並對ID3演算法進行了改進,這種改進具體體現在四個方面,第一就是在樹構造過程中進行剪枝,第二就是能夠完成對連續屬性的離散化處理,第三就是用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足,第四就是能夠對不完整數據進行處理。那麼這種演算法的優點是什麼呢?優點就是產生的分類規則易於理解,准確率較高。其缺點是:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致演算法的低效。
相信大家看了這篇文章以後對The k-means algorithm演算法、Support vector machines、C4.5演算法有了比較是深刻的了解,其實這三種演算法那都是十分重要的演算法,能夠幫助數據挖掘解決更多的問題。大家在學習數據挖掘的時候一定要注意好這些問題。