數據挖掘十大經典算法(各自優缺點 / 適用數據場景)
一、總結
一句話總結:
【C4.5】(一種分類決策樹算法)、【K-Means算法】(聚類算法)
【Support vector machines】(應用於統計分類以及回歸分析)、【The Apriori algorithm】(挖掘布爾關聯規則頻繁項集的算法)
【K最近鄰分類】(分類算法)、【朴素貝葉斯模型】(分類)、【CART】(分類與回歸樹)
【最大期望(EM)算法】(在概率模型中尋找參數最大似然估計的算法)、【PageRank】(PageRank根據網站的外部鏈接和內部鏈接的數量和質量倆衡量網站的價值)、【AdaBoost】(迭代算法)
1、C4.5?
【C4.5對ID3進行了改進】:C4.5算法是機器學習算法中的一種分類決策樹算法,其核心算法是ID3算法. C4.5算法繼承了ID3算法的優點,並在以下幾方面對ID3算法進行了改進
C4.5算法有如下【優點】:產生的分類規則【易於理解】,【准確率較高】。
其【缺點】是:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的【低效】(相對的CART算法只需要掃描兩次數據集,以下僅為決策樹優缺點)。
2、The k-means algorithm 即K-Means算法?
k-means algorithm算法是一個【聚類算法】,把n的對象根據他們的屬性分為k個分割,k < n。它與處理混合正態分布的最大期望算法很相似,因為他們都試圖找到【數據中自然聚類的中心】。它假設對象屬性來自於空間向量,並且目標是使各個群組內部的均 方誤差總和最小。
3、Support vector machines?
支持向量機,英文為Support Vector Machine,簡稱SV機(論文中一般簡稱SVM)。它是一種監督式學習的方法,它廣泛的應用於【統計分類以及回歸分析】中。支持向量機將向量映射到一個【更高維的空間】里,在這個空間里建立有一個【最大間隔超平面】。在分開數據的超平面的兩邊建有兩個互相平行的超平面。分隔超平面使兩個平行超平面的距離最大化。假 定平行超平面間的距離或差距越大,分類器的總誤差越小。一個極好的指南是C.J.C Burges的《模式識別支持向量機指南》。van der Walt 和 Barnard 將支持向量機和其他分類器進行了比較。
4、The Apriori algorithm?
Apriori算法是一種最有影響的【挖掘布爾關聯規則頻繁項集】的算法。其核心是基於【兩階段頻集思想的遞推算法】。
該【關聯規則】在分類上屬於單維、單層、布爾關聯規則。在這里,所有支持度大於最小支持度的項集稱為頻繁項集,簡稱頻集。
5、最大期望(EM)算法?
在統計計算中,最大期望(EM,Expectation–Maximization)算法是【在概率(probabilistic)模型中尋找參數最大似然估計的算法】,其中概率模型依賴於無法觀測的隱藏變量(Latent Variabl)。最大期望經常用在機器學習和計算機視覺的數據集聚(Data Clustering)領域。
6、PageRank?
PageRank是【Google算法】的重要內容。2001年9月被授予美國專利,專利人是Google創始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指網頁,而是指【佩奇】,即這個等級方法是以佩奇來命名的。
PageRank根據【網站的外部鏈接和內部鏈接的數量和質量倆衡量網站的價值】。PageRank背后的概念是,【每個到頁面的鏈接都是對該頁面的一次投票, 被鏈接的越多,就意味着被其他網站投票越多】。這個就是所謂的“鏈接流行度”——衡量多少人願意將他們的網站和你的網站掛鈎。PageRank這個概念引自 學術中一篇論文的被引述的頻度——即被別人引述的次數越多,一般判斷這篇論文的權威性就越高。
7、AdaBoost?
Adaboost是一種【迭代算法】,其【核心思想】是【針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些【弱分類器】集合起來,構成一個【更強的最終分類器 (強分類器)】】。其算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的准確率,來確定每個樣本的權 值。將修改過權值的新數據集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為最后的決策分類器。
8、kNN: k-nearest neighbor classification?
K最近鄰(k-Nearest Neighbor,KNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機器學習算法之一。該方法的【思路】是:如果一個樣本在特征空間中的【k個最相似(即特征空間中最鄰近)】的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。
9、Naive Bayes?
在眾多的分類模型中,應用最為廣泛的兩種分類模型是【決策樹模型(Decision Tree Model)】和【朴素貝葉斯模型(Naive Bayesian Model,NBC)】。
朴素貝葉斯模型發源於古典數學理論,有着堅實的數學基礎,以及穩定的分類效率。同時,NBC模型所需估計的參數很少,對缺失數據不太敏感,算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。 但是實際上並非總是如此,這是因為NBC模型【假設屬性之間相互獨立】,這個假設在實際應用中往往是不成立的,這給NBC模型的正確分類帶來了一定影響。在屬 性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型。而在屬性相關性較小時,NBC模型的性能最為良好。
10、CART: 分類與回歸樹?
CART, Classification and Regression Trees。 在分類樹下面有兩個關鍵的思想。第一個是關於【遞歸地划分自變量空間的想法(二元切分法)】;第二個想法是【用驗證數據進行剪枝(預剪枝、后剪枝)】。在回歸樹的基礎上的模型樹構建難度可能增加了,但同時其分類效果也有提升。
二、數據挖掘十大經典算法(包括各自優缺點 / 適用數據場景)(轉)
轉自:數據挖掘十大經典算法(包括各自優缺點 / 適用數據場景)
https://blog.csdn.net/qq_36523839/article/details/82383597
本文主要分析皆來自其他資料,借用較為權威的總結來對我已經學習的這些經典算法做一個極為精簡的概述(根據自身經驗有一定修改),另外同時附上機器學習實戰中作者對各種算法的評價。另外機器學習實戰這本書是本人看了這么多書籍或者資料中唯一一本堅持從頭看到尾,看完了的書籍,包括其中的代碼皆實踐運行過,收獲頗多,個人認為雖然這本書時間上已經算是老資料了,但其中作者的各種總結和代碼的演練都由淺入深(前提還是要有一點基礎的),讓我能看懂並能從中學到東西,可能當時很多東西比較熟悉,后來淡忘,但當再次接觸或使用它時能很快的重拾,所以如果你需要一門較為優秀的教材作為機器學習的入門資料我會推薦給你《機器學習實戰》。
以下為主要內容:
國際權威的學術組織the IEEE International Conference on Data Mining (ICDM) 2006年12月評選出了數據挖掘領域的十大經典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART.
不僅僅是選中的十大算法,其實參加評選的18種算法,實際上隨便拿出一種來都可以稱得上是經典算法,它們在數據挖掘領域都產生了極為深遠的影響。
1. C4.5
C4.5算法是機器學習算法中的一種分類決策樹算法,其核心算法是ID3算法. C4.5算法繼承了ID3算法的優點,並在以下幾方面對ID3算法進行了改進:
1) 用信息增益率來選擇屬性,克服了用信息增益選擇屬性時偏向選擇取值多的屬性的不足;
2) 在樹構造過程中進行剪枝;
3) 能夠完成對連續屬性的離散化處理;
4) 能夠對不完整數據進行處理。
C4.5算法有如下優點:產生的分類規則易於理解,准確率較高。其缺點是:在構造樹的過程中,需要對數據集進行多次的順序掃描和排序,因而導致算法的低效(相對的CART算法只需要掃描兩次數據集,以下僅為決策樹優缺點)。

2. The k-means algorithm 即K-Means算法
k-means algorithm算法是一個聚類算法,把n的對象根據他們的屬性分為k個分割,k < n。它與處理混合正態分布的最大期望算法很相似,因為他們都試圖找到數據中自然聚類的中心。它假設對象屬性來自於空間向量,並且目標是使各個群組內部的均 方誤差總和最小。

支持向量機,英文為Support Vector Machine,簡稱SV機(論文中一般簡稱SVM)。它是一種監督式學習的方法,它廣泛的應用於統計分類以及回歸分析中。支持向量機將向量映射到一個更 高維的空間里,在這個空間里建立有一個最大間隔超平面。在分開數據的超平面的兩邊建有兩個互相平行的超平面。分隔超平面使兩個平行超平面的距離最大化。假 定平行超平面間的距離或差距越大,分類器的總誤差越小。一個極好的指南是C.J.C Burges的《模式識別支持向量機指南》。van der Walt 和 Barnard 將支持向量機和其他分類器進行了比較。

Apriori算法是一種最有影響的挖掘布爾關聯規則頻繁項集的算法。其核心是基於兩階段頻集思想的遞推算法。該關聯規則在分類上屬於單維、單層、布爾關聯規則。在這里,所有支持度大於最小支持度的項集稱為頻繁項集,簡稱頻集。

5. 最大期望(EM)算法
在統計計算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中尋找參數最大似然 估計的算法,其中概率模型依賴於無法觀測的隱藏變量(Latent Variabl)。最大期望經常用在機器學習和計算機視覺的數據集聚(Data Clustering)領域。
6. PageRank
PageRank是Google算法的重要內容。2001年9月被授予美國專利,專利人是Google創始人之一拉里·佩奇(Larry Page)。因此,PageRank里的page不是指網頁,而是指佩奇,即這個等級方法是以佩奇來命名的。
PageRank根據網站的外部鏈接和內部鏈接的數量和質量倆衡量網站的價值。PageRank背后的概念是,每個到頁面的鏈接都是對該頁面的一次投票, 被鏈接的越多,就意味着被其他網站投票越多。這個就是所謂的“鏈接流行度”——衡量多少人願意將他們的網站和你的網站掛鈎。PageRank這個概念引自 學術中一篇論文的被引述的頻度——即被別人引述的次數越多,一般判斷這篇論文的權威性就越高。
7. AdaBoost
Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器 (強分類器)。其算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的准確率,來確定每個樣本的權 值。將修改過權值的新數據集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為最后的決策分類器。

8. kNN: k-nearest neighbor classification
K最近鄰(k-Nearest Neighbor,KNN)分類算法,是一個理論上比較成熟的方法,也是最簡單的機器學習算法之一。該方法的思路是:如果一個樣本在特征空間中的k個最相似(即特征空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。

9. Naive Bayes
在眾多的分類模型中,應用最為廣泛的兩種分類模型是決策樹模型(Decision Tree Model)和朴素貝葉斯模型(Naive Bayesian Model,NBC)。 朴素貝葉斯模型發源於古典數學理論,有着堅實的數學基礎,以 及穩定的分類效率。同時,NBC模型所需估計的參數很少,對缺失數據不太敏感,算法也比較簡單。理論上,NBC模型與其他分類方法相比具有最小的誤差率。 但是實際上並非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,這給NBC模型的正確分類帶來了一定影響。在屬 性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型。而在屬性相關性較小時,NBC模型的性能最為良好。

10. CART: 分類與回歸樹
CART, Classification and Regression Trees。 在分類樹下面有兩個關鍵的思想。第一個是關於遞歸地划分自變量空間的想法(二元切分法);第二個想法是用驗證數據進行剪枝(預剪枝、后剪枝)。在回歸樹的基礎上的模型樹構建難度可能增加了,但同時其分類效果也有提升。

參考書籍:《機器學習實戰》
參考文章:https://blog.csdn.net/u010983763/article/details/70854469
