數(shù)據(jù)挖掘經(jīng)典算法匯總
參加大叔培訓(xùn)學(xué)習(xí)的一定知道數(shù)據(jù)挖掘,那么數(shù)據(jù)挖掘的算法在參加大數(shù)據(jù)培訓(xùn)班的時候要講多少個呢,答案肯定是不會全部講述的,那樣也不太現(xiàn)實,今天我們就來了解一下大數(shù)據(jù)培訓(xùn)中有的或者是沒有的數(shù)據(jù)挖掘的算法。
數(shù)據(jù)挖掘算法是根據(jù)數(shù)據(jù)創(chuàng)建數(shù)據(jù)挖掘模型的一組試探法和計算。 為了創(chuàng)建模型,算法將首先分析您提供的數(shù)據(jù),并查找特定類型的模式和趨勢。
1:C4.5
C4.5就是一個決策樹算法,它是決策樹(決策樹也就是做決策的節(jié)點間像一棵樹一樣的組織方式,其實是一個倒樹)核心算法ID3的改進算法,所以基本上了解了一半決策樹構(gòu)造方法就能構(gòu)造它。
2:CART
CART也是一種決策樹算法!相對于上著有條件實現(xiàn)一個節(jié)點下面有多個子樹的多元分類,CART只是分類兩個子樹,這樣實現(xiàn)起來稍稍簡便些。所以說CART算法生成的決策樹是結(jié)構(gòu)簡潔的二叉樹。
3:KNN(K Nearest Neighbours)
這個很簡單,就是看你周圍的K個人(樣本)中哪個類別的人占的多,哪個多,那我就是多的那個。實現(xiàn)起來就是對每個訓(xùn)練樣本都計算與其相似度,是Top-K個訓(xùn)練樣本出來,看這K個樣本中哪個類別的多些,誰多跟誰。
4:Naive Bayes(樸素貝葉斯NB)
NB認(rèn)為各個特征是獨立的,誰也不關(guān)誰的事。所以一個樣本(特征值的集合,比如“數(shù)據(jù)結(jié)構(gòu)”出現(xiàn)2次,“文件”出現(xiàn)1次),可以通過對其所有出現(xiàn)特征在給定類別的概率相乘。比如“數(shù)據(jù)結(jié)構(gòu)”出現(xiàn)在類1的概率為0.5,“文件”出現(xiàn)在類1的概率為0.3,則可認(rèn)為其屬于類1的概率為0.5*0.5*0.3。
5:Support Vector Machine(支持向量機SVM)
SVM就是想找一個分類得最”好”的分類線/分類面(最近的一些兩類樣本到這個”線”的距離最遠)。這個沒具體實現(xiàn)過,上次聽課,那位老師自稱自己實現(xiàn)了SVM,敬佩其鉆研精神。常用的工具包是LibSVM、SVMLight、MySVM。
6:EM(期望最大化)
這個我認(rèn)為就是假設(shè)數(shù)據(jù)時由幾個高斯分布組成的,所以最后就是要求幾個高斯分布的參數(shù)。通過先假設(shè)幾個值,然后通過反復(fù)迭代,以期望得到最好的擬合。
7:Apriori
這個是做關(guān)聯(lián)規(guī)則用的。不知道為什么,一提高關(guān)聯(lián)規(guī)則我就想到購物籃數(shù)據(jù)。這個沒實現(xiàn)過,不過也還要理解,它就是通過支持度和置信度兩個量來工作,不過對于Apriori,它通過頻繁項集的一些規(guī)律(頻繁項集的子集必定是頻繁項集等等啦)來減少計算復(fù)雜度。
8:FP-Tree
(Mining frequent patterns without candidate generation)
這個也不太清楚。FP-growth算法(Frequent Pattern-growth)使用了一種緊縮的數(shù)據(jù)結(jié)構(gòu)來存儲查找頻繁項集所需要的全部信息。采用算法:將提供頻繁項集的數(shù)據(jù)庫壓縮到一棵FP-tree來保留項集關(guān)聯(lián)信息,然后將壓縮后的數(shù)據(jù)庫分成一組條件數(shù)據(jù)庫(一種特殊類型的投影數(shù)據(jù)庫),每個條件數(shù)據(jù)庫關(guān)聯(lián)一個頻繁項集。
9:PageRank
大名鼎鼎的PageRank大家應(yīng)該都知道(Google靠此專利發(fā)家,其實也不能說發(fā)家啦!)。對于這個算法我的理解就是:如果我指向你(網(wǎng)頁間的連接)則表示我承認(rèn)你,則在計算你的重要性的時候可以加上我的一部分重要性(到底多少,要看我自己有多少和我共承認(rèn)多少個人)。通過反復(fù)這樣來,可以求的一個穩(wěn)定的衡量各個人(網(wǎng)頁)重要性的值。不過這里必須要做些限制(一個人的開始默認(rèn)重要性都是1),不然那些值會越來越大越來越大。
10:HITS
HITS也是一個連接分析算法,它是由IBM首先提出的。在HITS,每個節(jié)點(網(wǎng)頁)都有一個重要度和權(quán)威度(Hubs and authorities,我也忘了具體的翻譯是什么了)。通過反復(fù)通過權(quán)威度來求重要度,通過重要度來求權(quán)威度得到最后的權(quán)威度和重要度。
11:K-Means
K-Means是一種最經(jīng)典也是使用最廣泛的聚類方法,時至今日扔然有很多基于其的改進模型提出。K-Means的思想很簡單,對于一個聚類任務(wù)(你需要指明聚成幾個類,當(dāng)然按照自然想法來說不應(yīng)該需要指明類數(shù),這個問題也是當(dāng)前聚類任務(wù)的一個值得研究的課題),首先隨機選擇K個簇中心,然后反復(fù)計算下面的過程直到所有簇中心不改變(簇集合不改變)為止。
12:BIRCH
BIRCH也是一種聚類算法,其全稱是Balanced Iterative Reducing and Clustering using Hierarchies。BIRCH也是只是看了理論沒具體實現(xiàn)過。是一個綜合的層次聚類特征(Clustering Feature, CF)和聚類特征樹(CF Tree)兩個概念,用于概括聚類描述。聚類特征樹概括了聚類的有用信息,并且占用空間較元數(shù)據(jù)集合小得多,可以存放在內(nèi)存中,從而可以提高算法在大型數(shù)據(jù)集合上的聚類速度及可伸縮性。
13:AdaBoost
AdaBoost做分類的一般知道,它是一種boosting方法。這個不能說是一種算法,應(yīng)該是一種方法,因為它可以建立在任何一種分類算法上,可以是決策樹,NB,SVM等。
Adaboost是一種迭代算法,其核心思想是針對同一個訓(xùn)練集訓(xùn)練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個更強的最終分類器(強分類器)。
14:GSP
GSP,全稱為Generalized Sequential Pattern(廣義序貫?zāi)J?,是一種序列挖掘算法。GSP類似于Apriori算法,采用冗余候選模式的剪除策略和特殊的數(shù)據(jù)結(jié)構(gòu)-----哈希樹來實現(xiàn)候選模式的快速訪存。
15:PrefixSpan
又是一個類似Apriori的序列挖掘。
在上邊的數(shù)據(jù)挖掘算法中其中經(jīng)典十大算法為:C4.5,K-Means,SVM,Apriori,EM,PageRank,AdaBoost,KNN,NB和CART。