1. 程式人生 > >18大經典資料探勘演算法小結

18大經典資料探勘演算法小結

本文所有涉及到的資料探勘程式碼的都放在了我的github上了。

大概花了將近2個月的時間,自己把18大資料探勘的經典演算法進行了學習並且進行了程式碼實現,涉及到了決策分類,聚類,連結挖掘,關聯挖掘,模式挖掘等等方面。也算是對資料探勘領域的小小入門了吧。下面就做個小小的總結,後面都是我自己相應演算法的博文連結,希望能夠幫助大家學習。

1.C4.5演算法。C4.5演算法與ID3演算法一樣,都是數學分類演算法,C4.5演算法是ID3演算法的一個改進。ID3演算法採用資訊增益進行決策判斷,而C4.5採用的是增益率。

2.CART演算法。CART演算法的全稱是分類迴歸樹演算法,他是一個二元分類,採用的是類似於熵的基尼指數作為分類決策,形成決策樹後之後還要進行剪枝,我自己在實現整個演算法的時候採用的是代價複雜度演算法,

3.KNN(K最近鄰)演算法。給定一些已經訓練好的資料,輸入一個新的測試資料點,計算包含於此測試資料點的最近的點的分類情況,哪個分類的型別佔多數,則此測試點的分類與此相同,所以在這裡,有的時候可以複製不同的分類點不同的權重。近的點的權重大點,遠的點自然就小點。

4.Naive Bayes(樸素貝葉斯)演算法。樸素貝葉斯演算法是貝葉斯演算法裡面一種比較簡單的分類演算法,用到了一個比較重要的貝葉斯定理,用一句簡單的話概括就是條件概率的相互轉換推導。

5.SVM(支援向量機)演算法。支援向量機演算法是一種對線性和非線性資料進行分類的方法,非線性資料進行分類的時候可以通過核函式轉為線性的情況再處理。其中的一個關鍵的步驟是搜尋最大邊緣超平面。

6.EM(期望最大化)演算法。期望最大化演算法,可以拆分為2個演算法,1E-Step期望化步驟,1M-Step最大化步驟。他是一種演算法框架,在每次計算結果之後,逼近統計模型引數的最大似然或最大後驗估計。

7.Apriori演算法。Apriori演算法是關聯規則挖掘演算法,通過連線和剪枝運算挖掘出頻繁項集,然後根據頻繁項集得到關聯規則,關聯規則的匯出需要滿足最小置信度的要求。

8.FP-Tree(頻繁模式樹)演算法。這個演算法也有被稱為FP-growth演算法,這個演算法克服了Apriori演算法的產生過多侯選集的缺點,通過遞迴的產生頻度模式樹,然後對樹進行挖掘,後面的過程與Apriori

演算法一致。

9.PageRank(網頁重要性/排名)演算法。PageRank演算法最早產生於Google,核心思想是通過網頁的入鏈數作為一個網頁好快的判定標準,如果1個網頁內部包含了多個指向外部的連結,則PR值將會被均分,PageRank演算法也會遭到Link Span攻擊。

10.HITS演算法。HITS演算法是另外一個連結演算法,部分原理與PageRank演算法是比較相似的,HITS演算法引入了權威值和中心值的概念,HITS演算法是受使用者查詢條件影響的,他一般用於小規模的資料鏈接分析,也更容易遭受到攻擊。

11.K-Means(K均值)演算法。K-Means演算法是聚類演算法,k在在這裡指的是分類的型別數,所以在開始設定的時候非常關鍵,演算法的原理是首先假定k個分類點,然後根據歐式距離計算分類,然後去同分類的均值作為新的聚簇中心,迴圈操作直到收斂。

12.BIRCH演算法。BIRCH演算法利用構建CF聚類特徵樹作為演算法的核心,通過樹的形式,BIRCH演算法掃描資料庫,在記憶體中建立一棵初始的CF-樹,可以看做資料的多層壓縮。

13.AdaBoost演算法。AdaBoost演算法是一種提升演算法,通過對資料的多次訓練得到多個互補的分類器,然後組合多個分類器,構成一個更加準確的分類器。

14.GSP演算法。GSP演算法是序列模式挖掘演算法。GSP演算法也是Apriori類演算法,在演算法的過程中也會進行連線和剪枝操作,不過在剪枝判斷的時候還加上了一些時間上的約束等條件。

15.PreFixSpan演算法。PreFixSpan演算法是另一個序列模式挖掘演算法,在演算法的過程中不會產生候選集,給定初始字首模式,不斷的通過後綴模式中的元素轉到字首模式中,而不斷的遞迴挖掘下去。

16.CBA(基於關聯規則分類)演算法。CBA演算法是一種整合挖掘演算法,因為他是建立在關聯規則挖掘演算法之上的,在已有的關聯規則理論前提下,做分類判斷,只是在演算法的開始時對資料做處理,變成類似於事務的形式。

17.RoughSets(粗糙集)演算法。粗糙集理論是一個比較新穎的資料探勘思想。這裡使用的是用粗糙集進行屬性約簡的演算法,通過上下近似集的判斷刪除無效的屬性,進行規制的輸出。

18.gSpan演算法。gSpan演算法屬於圖挖掘演算法領域。,主要用於頻繁子圖的挖掘,相較於其他的圖演算法,子圖挖掘演算法是他們的一個前提或基礎演算法。gSpan演算法用到了DFS編碼,和Edge五元組,最右路徑子圖擴充套件等概念,演算法比較的抽象和複雜。