本文所有涉及到的數(shù)據(jù)挖掘代碼的都放在了我的github上了。
地址鏈接: https://github.com/linyiqun/DataMiningAlgorithm
大概花了將近2個月的時(shí)間,自己把18大數(shù)據(jù)挖掘的經(jīng)典算法進(jìn)行了學(xué)習(xí)并且進(jìn)行了代碼實(shí)現(xiàn),涉及到了決策分類,聚類,鏈接挖掘,關(guān)聯(lián)挖掘,模式挖掘等等方面。也算是對數(shù)據(jù)挖掘領(lǐng)域的小小入門了吧。下面就做個小小的總結(jié),后面都是我自己相應(yīng)算法的博文鏈接,希望能夠幫助大家學(xué)習(xí)。
1.C4.5算法。C4.5算法與ID3算法一樣,都是數(shù)學(xué)分類算法,C4.5算法是ID3算法的一個改進(jìn)。ID3算法采用信息增益進(jìn)行決策判斷,而C4.5采用的是增益率。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42395865
2.CART算法。CART算法的全稱是分類回歸樹算法,他是一個二元分類,采用的是類似于熵的基尼指數(shù)作為分類決策,形成決策樹后之后還要進(jìn)行剪枝,我自己在實(shí)現(xiàn)整個算法的時(shí)候采用的是代價(jià)復(fù)雜度算法,
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42558235
3.KNN(K最近鄰)算法。給定一些已經(jīng)訓(xùn)練好的數(shù)據(jù),輸入一個新的測試數(shù)據(jù)點(diǎn),計(jì)算包含于此測試數(shù)據(jù)點(diǎn)的最近的點(diǎn)的分類情況,哪個分類的類型占多數(shù),則此測試點(diǎn)的分類與此相同,所以在這里,有的時(shí)候可以復(fù)制不同的分類點(diǎn)不同的權(quán)重。近的點(diǎn)的權(quán)重大點(diǎn),遠(yuǎn)的點(diǎn)自然就小點(diǎn)。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42613011
4.Naive Bayes(樸素貝葉斯)算法。樸素貝葉斯算法是貝葉斯算法里面一種比較簡單的分類算法,用到了一個比較重要的貝葉斯定理,用一句簡單的話概括就是條件概率的相互轉(zhuǎn)換推導(dǎo)。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42680161
5.SVM(支持向量機(jī))算法。支持向量機(jī)算法是一種對線性和非線性數(shù)據(jù)進(jìn)行分類的方法,非線性數(shù)據(jù)進(jìn)行分類的時(shí)候可以通過核函數(shù)轉(zhuǎn)為線性的情況再處理。其中的一個關(guān)鍵的步驟是搜索最大邊緣超平面。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42780439
6.EM(期望最大化)算法。期望最大化算法,可以拆分為2個算法,1個E-Step期望化步驟,和1個M-Step最大化步驟。他是一種算法框架,在每次計(jì)算結(jié)果之后,逼近統(tǒng)計(jì)模型參數(shù)的最大似然或最大后驗(yàn)估計(jì)。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/42921789
7.Apriori算法。Apriori算法是關(guān)聯(lián)規(guī)則挖掘算法,通過連接和剪枝運(yùn)算挖掘出頻繁項(xiàng)集,然后根據(jù)頻繁項(xiàng)集得到關(guān)聯(lián)規(guī)則,關(guān)聯(lián)規(guī)則的導(dǎo)出需要滿足最小置信度的要求。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43059211
8.FP-Tree(頻繁模式樹)算法。這個算法也有被稱為FP-growth算法,這個算法克服了Apriori算法的產(chǎn)生過多侯選集的缺點(diǎn),通過遞歸的產(chǎn)生頻度模式樹,然后對樹進(jìn)行挖掘,后面的過程與Apriori算法一致。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43234309
9.PageRank(網(wǎng)頁重要性/排名)算法。PageRank算法最早產(chǎn)生于Google,核心思想是通過網(wǎng)頁的入鏈數(shù)作為一個網(wǎng)頁好快的判定標(biāo)準(zhǔn),如果1個網(wǎng)頁內(nèi)部包含了多個指向外部的鏈接,則PR值將會被均分,PageRank算法也會遭到Link Span攻擊。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943
10.HITS算法。HITS算法是另外一個鏈接算法,部分原理與PageRank算法是比較相似的,HITS算法引入了權(quán)威值和中心值的概念,HITS算法是受用戶查詢條件影響的,他一般用于小規(guī)模的數(shù)據(jù)鏈接分析,也更容易遭受到攻擊。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43311943
11.K-Means(K均值)算法。K-Means算法是聚類算法,k在在這里指的是分類的類型數(shù),所以在開始設(shè)定的時(shí)候非常關(guān)鍵,算法的原理是首先假定k個分類點(diǎn),然后根據(jù)歐式距離計(jì)算分類,然后去同分類的均值作為新的聚簇中心,循環(huán)操作直到收斂。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43373159
12.BIRCH算法。BIRCH算法利用構(gòu)建CF聚類特征樹作為算法的核心,通過樹的形式,BIRCH算法掃描數(shù)據(jù)庫,在內(nèi)存中建立一棵初始的CF-樹,可以看做數(shù)據(jù)的多層壓縮。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43532111
13.AdaBoost算法。AdaBoost算法是一種提升算法,通過對數(shù)據(jù)的多次訓(xùn)練得到多個互補(bǔ)的分類器,然后組合多個分類器,構(gòu)成一個更加準(zhǔn)確的分類器。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43635115
14.GSP算法。GSP算法是序列模式挖掘算法。GSP算法也是Apriori類算法,在算法的過程中也會進(jìn)行連接和剪枝操作,不過在剪枝判斷的時(shí)候還加上了一些時(shí)間上的約束等條件。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43699083
15.PreFixSpan算法。PreFixSpan算法是另一個序列模式挖掘算法,在算法的過程中不會產(chǎn)生候選集,給定初始前綴模式,不斷的通過后綴模式中的元素轉(zhuǎn)到前綴模式中,而不斷的遞歸挖掘下去。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43766253
16.CBA(基于關(guān)聯(lián)規(guī)則分類)算法。CBA算法是一種集成挖掘算法,因?yàn)樗墙⒃陉P(guān)聯(lián)規(guī)則挖掘算法之上的,在已有的關(guān)聯(lián)規(guī)則理論前提下,做分類判斷,只是在算法的開始時(shí)對數(shù)據(jù)做處理,變成類似于事務(wù)的形式。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43818787
17.RoughSets(粗糙集)算法。粗糙集理論是一個比較新穎的數(shù)據(jù)挖掘思想。這里使用的是用粗糙集進(jìn)行屬性約簡的算法,通過上下近似集的判斷刪除無效的屬性,進(jìn)行規(guī)制的輸出。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43876001
18.gSpan算法。gSpan算法屬于圖挖掘算法領(lǐng)域。,主要用于頻繁子圖的挖掘,相較于其他的圖算法,子圖挖掘算法是他們的一個前提或基礎(chǔ)算法。gSpan算法用到了DFS編碼,和Edge五元組,最右路徑子圖擴(kuò)展等概念,算法比較的抽象和復(fù)雜。
詳細(xì)介紹鏈接:http://blog.csdn.net/androidlushangderen/article/details/43924273