1. 程式人生 > >各種分類演算法的優缺點

各種分類演算法的優缺點

1決策樹(Decision Trees)的優缺點

決策樹的優點:

一、           決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。

二、           對於決策樹,資料的準備往往是簡單或者是不必要的.其他的技術往往要求先把資料一般化,比如去掉多餘的或者空白的屬性。

三、           能夠同時處理資料型和常規型屬性。其他的技術往往要求資料屬性的單一。

四、           決策樹是一個白盒模型。如果給定一個觀察的模型,那麼根據所產生的決策樹很容易推出相應的邏輯表示式。

五、           易於通過靜態測試來對模型進行評測。表示有可能測量該模型的可信度。

六、          在相對短的時間內能夠對大型資料來源做出可行且效果良好的結果。

七、           可以對有許多屬性的資料集構造決策樹。

八、           決策樹可很好地擴充套件到大型資料庫中,同時它的大小獨立於資料庫的大小。


決策樹的缺點:

一、           對於那些各類別樣本數量不一致的資料,在決策樹當中,資訊增益的結果偏向於那些具有更多數值的特徵。

二、           決策樹處理缺失資料時的困難。

三、           過度擬合問題的出現。

四、           忽略資料集中屬性之間的相關性。



2 人工神經網路的優缺點

人工神經網路的優點:分類的準確度高,並行分佈處理能力強,分佈儲存及學習能力強,對噪聲神經有較強的魯棒性和容錯能力,能充分逼近複雜的非線性關係,具備聯想記憶的功能等。

人工神經網路的缺點:神經網路需要大量的引數,如網路拓撲結構、權值和閾值的初始值;不能觀察之間的學習過程,輸出結果難以解釋,會影響到結果的可信度和可接受程度;學習時間過長,甚至可能達不到學習的目的。




3 遺傳演算法的優缺點

遺傳演算法的優點:

一、           與問題領域無關切快速隨機的搜尋能力。

二、           搜尋從群體出發,具有潛在的並行性,可以進行多個個體的同時比較,魯棒性好。

三、           搜尋使用評價函式啟發,過程簡單。

四、           使用概率機制進行迭代,具有隨機性。

五、           具有可擴充套件性,容易與其他演算法結合。


遺傳演算法的缺點:

一、           遺傳演算法的程式設計實現比較複雜,首先需要對問題進行編碼,找到最優解之後還需要對問題進行解碼,

二、           另外三個運算元的實現也有許多引數,如交叉率和變異率,並且這些引數的選擇嚴重影響解的品質,而目前這些引數的選擇大部分是依靠經驗.沒有能夠及時利用網路的反饋資訊,故演算法的搜尋速度比較慢,要得要較精確的解需要較多的訓練時間。

三、           演算法對初始種群的選擇有一定的依賴性,能夠結合一些啟發演算法進行改進。



4 KNN演算法(K-Nearest Neighbour) 的優缺點

KNN演算法的優點:

一、          簡單、有效。

二、          重新訓練的代價較低(類別體系的變化和訓練集的變化,在Web環境和電子商務應用中是很常見的)。

三、          計算時間和空間線性於訓練集的規模(在一些場合不算太大)。

四、           由於KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。

五、           該演算法比較適用於樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域採用這種演算法比較容易產生誤分。


KNN演算法缺點:

一、           KNN演算法是懶散學習方法(lazy learning,基本上不學習),一些積極學習的演算法要快很多。

二、           類別評分不是規格化的(不像概率評分)。

三、           輸出的可解釋性不強,例如決策樹的可解釋性較強。

四、           該演算法在分類時有個主要的不足是,當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本佔多數。該演算法只計算“最近的”鄰居樣本,某一類的樣本數量很大,那麼或者這類樣本並不接近目標樣本,或者這類樣本很靠近目標樣本。無論怎樣,數量並不能影響執行結果。可以採用權值的方法(和該樣本距離小的鄰居權值大)來改進。

五、           計算量較大。目前常用的解決方法是事先對已知樣本點進行剪輯,事先去除對分類作用不大的樣本。




5 支援向量機(SVM)的優缺點

SVM的優點:

一、           可以解決小樣本情況下的機器學習問題。

二、           可以提高泛化效能。

三、           可以解決高維問題。

四、           可以解決非線性問題。

五、           可以避免神經網路結構選擇和區域性極小點問題。


SVM的缺點:

一、           對缺失資料敏感。

二、           對非線性問題沒有通用解決方案,必須謹慎選擇Kernelfunction來處理。



6 樸素貝葉斯的優缺點

優點:

一、           樸素貝葉斯模型發源於古典數學理論,有著堅實的數學基礎,以及穩定的分類效率。

二、           NBC模型所需估計的引數很少,對缺失資料不太敏感,演算法也比較簡單。


缺點:

一、           理論上,NBC模型與其他分類方法相比具有最小的誤差率。但是實際上並非總是如此,這是因為NBC模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的(可以考慮用聚類演算法先將相關性較大的屬性聚類),這給NBC模型的正確分類帶來了一定影響。在屬性個數比較多或者屬性之間相關性較大時,NBC模型的分類效率比不上決策樹模型。而在屬性相關性較小時,NBC模型的效能最為良好。

二、           需要知道先驗概率。

三、           分類決策存在錯誤率



7 Adaboosting方法的優點

一、           adaboost是一種有很高精度的分類器。

二、           可以使用各種方法構建子分類器,Adaboost演算法提供的是框架。

三、           當使用簡單分類器時,計算出的結果是可以理解的。而且弱分類器構造極其簡單。

四、           簡單,不用做特徵篩選。

五、           不用擔心overfitting。



8 Rocchio的優點

Rocchio演算法的突出優點是容易實現,計算(訓練和分類)特別簡單,它通常用來實現衡量分類系統性能的基準系統,而實用的分類系統很少採用這種演算法解決具體的分類問題。




9各種分類演算法比較

根據這篇論文所得出的結論,

Calibrated boosted trees的效能最好,隨機森林第二,uncalibrated bagged trees第三,calibratedSVMs第四, uncalibrated neural nets第五。

    效能較差的是樸素貝葉斯,決策樹。

    有些演算法在特定的資料集下表現較好。

參考文獻:


[1] 羅森林, 馬俊, 潘麗敏.資料探勘理論與技術[M].電子工業出版社.2013.126-126

[2] 楊曉帆,陳廷槐.人工神經網路固有的優點和缺點[J].電腦科學.1994(vol.21).23-26

[4] 楊建武.文字自動分類技術.

www.icst.pku.edu.cn/course/mining/12-13spring/TextMining04-%E5%88%86%E7%B1%BB.pdf

[7] RichCaruana,AlexandruNiculescu-Mizil.An Empirical Comparison of Supervised LearningAlgorithms.2006

相關推薦

各種分類演算法優缺點

1決策樹(Decision Trees)的優缺點 決策樹的優點: 一、           決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。 二、           對於決策樹,資料的準備往往是簡單或者是不必要的.其他的技術往往要求先把資料一

系統學習機器學習之總結(一)--常見分類演算法優缺點

主要是參考網上各種資源,做了整理。其實,這裡更多的是從基礎版本對比,真正使用的時候,看資料,看改進後的演算法。 1. 五大流派 ①符號主義:使用符號、規則和邏輯來表徵知識和進行邏輯推理,最喜歡的演算法是:規則和決策樹 ②貝葉斯派:獲取發生的可能性來進行概率推理,最喜歡的演算法是:樸素貝葉

各個分類演算法優缺點

樸素貝葉斯的主要優點有: 1)樸素貝葉斯模型發源於古典數學理論,有穩定的分類效率。 2)對小規模的資料表現很好,能個處理多分類任務,適合增量式訓練,尤其是資料量超出記憶體時,我們可以一批批的去增量訓練。 3)對缺失資料不太敏感,演算法也比較簡單,常用於文字分類。

常見分類演算法優缺點

1決策樹(Decision Trees)的優缺點 決策樹的優點: 一、           決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。 二、           對於決策樹,資料的準備往往是簡單或者是不必要的.其他的技術往往要求先把資料一

機器學習各種分類演算法比較

1決策樹(Decision Trees)的優缺點 決策樹的優點: 一、           決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。 二、           對於決策樹,資料的準備往往是簡單或者是不必要的.其他的技術往往要求先把資料一般化,

KNN分類演算法優缺點

KNN演算法的優點: 1、思想簡單,理論成熟,既可以用來做分類也可以用來做迴歸; 2、可用於非線性分類; 3、訓練時間複雜度為O(n); 4、準確度高,對資料沒有假設,對outlier不敏感;

機器學習常見演算法分類演算法優缺點彙總

  機器學習無疑是當前資料分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的演算法。本文為您總結一下常見的機器學習演算法,以供您在工作和學習中參考。        機器學習的演算法很多。很多時候困惑人們都是,很多演算

各常用分類演算法優缺點總結:DT/ANN/KNN/SVM/GA/Bayes/Adaboosting/Rocchio

1決策樹(Decision Trees)的優缺點 決策樹的優點: 一、 決策樹易於理解和解釋.人們在通過解釋後都有能力去理解決策樹所表達的意義。 二、 對於決策樹,資料的準備往往是簡單或者是不必要的.其他的技術往往要求先把資料一般化,比如去掉多餘的或者空白的屬性。 三、 能夠同時處理資料型和常規型屬性。其他的

各種排序演算法優缺點

 1.插入排序 基本思想: 將一個記錄插入到已排序好的有序表中,從而得到一個新,記錄數增1的有序表。即:先將序列的第1個記錄看成是一個有序的子序列,然後從第2個記錄逐個進行插入,直至整個序列有序

sklearn各種分類器簡單使用

iris targe tro fit 簡單 red port style res sklearn中有很多經典分類器,使用非常簡單:1.導入數據 2.導入模型 3.fit--->predict 下面的示例為在iris數據集上用各種分類器進行分類: 1 #用各種方式在

matlab自帶各種分類器的使用示例

stl 隨機森林 方法 predict cat label .net vector mat 全文轉至 u014114990的專欄,address:https://blog.csdn.net/u014114990/article/details/51067059 個人修改建議

oracle各種執行計劃優缺點

loop with 共享 amp 文件 events 設置 filter rac 一. 獲取oracle執行計劃的方法有6種,各自的優缺點如下,根據實際情況進行選擇使用: explain plan for 方式 步驟1:explain plan for 後跟著SQL語句

各種基本演算法實現小結(五)—— 排序演算法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

不平衡資料分類演算法介紹與比較

介紹 在資料探勘中,經常會存在不平衡資料的分類問題,比如在異常監控預測中,由於異常就大多數情況下都不會出現,因此想要達到良好的識別效果普通的分類演算法還遠遠不夠,這裡介紹幾種處理不平衡資料的常用方法及對比。 符號表示 記多數類的樣本集合為L,少數類的樣本集合為S。

使用PIL和幾種分類演算法對標準數字圖片進行識別

詳細程式碼見GitHub: https://github.com/nickliqian/simple_number_recognition simple_number_recognition 使用PIL和幾種分類演算法對標準數字圖片進行識別。 背景 在採集某

資料探勘——基於sklearn包的分類演算法小結

           目錄 一、分類演算法簡介 二、KNN演算法 三、貝葉斯分類演算法 四、決策樹演算法 五、隨機森林演算法 六、SVM演算法      一、分類演算法簡介 1、概念   1.1 監督學習(Super

基於協同訓練的半監督文字分類演算法

標籤: 半監督學習,文字分類 作者:煉己者 --- 本部落格所有內容以學習、研究和分享為主,如需轉載,請聯絡本人,標明作者和出處,並且是非商業用途,謝謝! 如果大家覺得格式看著不舒服,也歡迎大家去看我的簡書 半監督學習文字分類系列 用半監督演算法做文字分類(sklearn) sklearn半監督學習(

各種排序演算法詳解C++實現

1.氣泡排序 時間複雜度 O ( n

樸素貝葉斯分類演算法簡單理解

樸素貝葉斯分類演算法簡單理解 貝葉斯分類是一類分類演算法的總稱,這類演算法均以貝葉斯定理為基礎,故統稱為貝葉斯分類。而樸素樸素貝葉斯分類是貝葉斯分類中最簡單,也是常見的一種分類方法。這篇文章我儘可能用直白的話語總結一下我們學習會上講到的樸素貝葉斯分類演算法,希望有利於他人理解。 1

各種排序演算法,一步步更新(一),桶排序,氣泡排序,選擇排序,快速排序

部分方法來自我關注的博主  J_小浩子  謝謝 1 桶排序  bucketsort 1 桶排序 #include <stdio.h>//桶排序基本說明 int main(){     int data1[11]={0},tem