18種常見數據挖掘算法小結

jopen 9年前發布 | 185K 次閱讀 算法

本文所有涉及到的數據挖掘代碼的都放在了我的github上了。

地址鏈接: https://github.com/linyiqun/DataMiningAlgorithm

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

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42395865

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42558235

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42613011

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42680161

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42780439

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42921789

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43059211

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43234309

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43373159

12.BIRCH算法。BIRCH算法利用構建CF聚類特征樹作為算法的核心,通過樹的形式,BIRCH算法掃描數據庫,在內存中建立一棵初始的CF-樹,可以看做數據的多層壓縮。

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43532111

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43635115

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43699083

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43766253

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43818787

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43876001

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

詳細介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43924273

</div> 來源:CSDN博客  作者:Android路上的人

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!