幾種機器學習算法的優缺點

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

決策樹的優點:

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

二、? ?? ?? ???對于決策樹,數據的準備往往是簡單或者是不必要的.不需要預處理數據。

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

四、? ?? ?? ??在相對短的時間內能夠對大型數據源做出可行且效果良好的結果。

五、? ?? ?? ???可以對有許多屬性的數據集構造決策樹。

六、? ?? ?? ???決策樹可很好地擴展到大型數據庫中,同時它的大小獨立于數據庫的大小。

?

決策樹的缺點:

一、? ?? ?? ???對于那些各類別樣本數量不一致的數據,在決策樹當中,信息增益的結果偏向于那些具有更多數值的特征。

二、? ?? ?? ???決策樹處理缺失數據時的困難。

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

四、? ?? ?? ???忽略數據集中屬性之間的相關性。

?

?

2 人工神經網絡的優缺點

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

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

?

?

3 遺傳算法的優缺點

遺傳算法的優點:

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

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

三、? ?? ?? ???搜索使用評價函數啟發,過程簡單。

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

五、? ?? ?? ???具有可擴展性,容易與其他算法結合。

?

遺傳算法的缺點:

一、? ?? ?? ???遺傳算法的編程實現比較復雜,首先需要對問題進行編碼,找到最優解之后還需要對問題進行解碼,

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

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

?

?

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

KNN算法的優點:

一、? ?? ?? ??簡單、有效。

二、? ?? ?? ??重新訓練的代價較低。

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

四、? ?? ?? ???該算法比較適用于樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域采用這種算法比較容易產生誤分。

?

KNN算法缺點:

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

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

三、? ?? ?? ???輸出的可解釋性不強。

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

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

六、   k值的確定。

?

?

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

SVM的優點:

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

二、? ?? ?? ???可以提高泛化性能。

三、? ?? ?? ???可以解決高維問題。

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

五、? ?? ?? ???可以避免神經網絡結構選擇和局部極小點問題。

?

SVM的缺點:

一、? ?? ?? ???對缺失數據敏感。

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

?

?

6 樸素貝葉斯的優缺點

優點:

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

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

?

缺點:

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

二、? ?? ?? ???需要知道先驗概率。

三、? ?? ?? ???分類決策存在錯誤率。

?

?

?

7 Adaboosting方法的優點

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

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

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

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

五、? ?? ?? ???不用擔心overfitting。

?

?

準確率和召回率的使用條件和計算方式,即什么情況下正確率指標不適用?

準確率(accuracy) = 預測對的/所有 = (TP+TN)/(TP+FN+FP+TN)
精確率(precision) = TP/(TP+FP)
召回率(recall) = TP/(TP+FN)

在正負樣本不平衡的情況下,準確率這個評價指標有很大的缺陷。

比如在互聯網廣告里面,點擊的數量是很少的,一般只有千分之幾,如果用acc,即使全部預測成負類(不點擊)acc 也有 99% 以上,沒有意義。

?

轉自:http://www.cnblogs.com/ljy2013/p/4268158.html

轉載于:https://www.cnblogs.com/Allen-rg/p/7301698.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/391763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/391763.shtml
英文地址,請注明出處:http://en.pswp.cn/news/391763.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【貪心】買賣股票的最佳時機含手續費

/** 貪心:每次選取更低的價格買入,遇到高于買入的價格就出售(此時不一定是最大收益)。* 使用buy表示買入股票的價格和手續費的和。遍歷數組,如果后面的股票價格加上手續費* 小于buy,說明有更低的買入價格更新buy。如…

本科畢設論文——基于Kinect的拖拉機防撞系統

基于Kinect的拖拉機防撞系統電子信息科學與技術專業學生 sukeysun 摘要:隨著智能車輛技術的發展,智能導航定位和實時車載監控等技術被更多的應用到日常生活照。在農業領域上,車輛自主感知道路環境并制定實時避障策略還存在不足,特…

排序算法Java代碼實現(二)—— 冒泡排序

本篇內容: 冒泡排序冒泡排序 算法思想: 冒泡排序的原理是:從左到右,相鄰元素進行比較。 每次比較一輪,就會找到序列中最大的一個或最小的一個。這個數就會從序列的最右邊冒出來。 代碼實現: /*** */ packag…

創意產品 分析_使用聯合分析來發展創意

創意產品 分析Advertising finds itself in a tenacious spot these days serving two masters: creativity and data.如今,廣告業處于一個頑強的位置,服務于兩個大師:創造力和數據。 On the one hand, it values creativity; and it’s not…

leetcode 劍指 Offer 05. 替換空格

請實現一個函數,把字符串 s 中的每個空格替換成"%20"。 示例 1: 輸入:s “We are happy.” 輸出:“We%20are%20happy.” 解題思路 一次遍歷,檢查空格,然后替換 代碼 class Solution {publ…

兩個富翁打賭_打賭您無法解決這個Google面試問題。

兩個富翁打賭by Kevin Ghadyani通過凱文加迪亞尼(Kevin Ghadyani) 打賭您無法解決這個Google面試問題。 (Bet you can’t solve this Google interview question.) 將棘手的問題分解為小塊。 (Breaking tough problems into small pieces.) I wanted to see someone else’s t…

vue.js 安裝

寫 一個小小的安裝步驟 踩坑過來的 點擊.然后安裝cnpm.再接著使用文章說明繼續安裝 # 全局安裝 vue-cli $ cnpm install --global vue-cli # 創建一個基于 webpack 模板的新項目 $ vue init webpack my-project這時候一路空格 選項.當遇到第一個讓你敲 Y/N 的時候 選擇Y …

Swift 的函數和閉包

函數的關鍵字是 func ,函數定義的格式是: func funcName(para:paraType) -> returnType{// code } 復制代碼函數的參數標簽 其中參數的那部分的詳細結構是用小括號括起來,參數名,冒號,參數類型: (number…

pandas之表格樣式

在juoyter notebook中直接通過df輸出DataFrame時&#xff0c;顯示的樣式為表格樣式&#xff0c;通過sytle可對表格的樣式做一些定制&#xff0c;類似excel的條件格式。 df pd.DataFrame(np.random.rand(5,4),columns[A,B,C,D]) s df.style print(s,type(s)) #<pandas.io.f…

多層感知機 深度神經網絡_使用深度神經網絡和合同感知損失的能源產量預測...

多層感知機 深度神經網絡in collaboration with Hsu Chung Chuan, Lin Min Htoo, and Quah Jia Yong.與許忠傳&#xff0c;林敏濤和華佳勇合作。 1. Introduction1.簡介 Since the early 1990s, several countries, mostly in the European Union and North America, had sta…

ajax跨域

//遠程的地址1.通過header頭實現ajax跨域PHP文件的代碼$origin isset($_SERVER[HTTP_ORIGIN])? $_SERVER[HTTP_ORIGIN] : ; $allow_origin array(http://www.example.com, http://www.example2.com);if(in_array($origin, $allow_origin)){ header(Access-Control-Allow-Ori…

java線程并發庫之--線程同步工具CountDownLatch用法

CountDownLatch&#xff0c;一個同步輔助類&#xff0c;在完成一組正在其他線程中執行的操作之前&#xff0c;它允許一個或多個線程一直等待。 主要方法 public CountDownLatch(int count); public void countDown(); public void await() throws InterruptedException 構造方法…

leetcode 766. 托普利茨矩陣

給你一個 m x n 的矩陣 matrix 。如果這個矩陣是托普利茨矩陣&#xff0c;返回 true &#xff1b;否則&#xff0c;返回 false 。 如果矩陣上每一條由左上到右下的對角線上的元素都相同&#xff0c;那么這個矩陣是 托普利茨矩陣 。 輸入&#xff1a;matrix [[1,2,3,4],[5,1,…

藍牙調試工具如何使用_使用此有價值的工具改進您的藍牙項目:第2部分!

藍牙調試工具如何使用This post is originally from www.jaredwolff.com. 這篇文章最初來自www.jaredwolff.com。 This is Part 2 of configuring your own Bluetooth Low Energy Service using a Nordic NRF52 series processor. If you haven’t seen Part 1 go back and ch…

gRPC快速入門記錄

為什么使用grpc 1.protocl buffer一種高效的序列化結構。 2.支持http 2.0標準化協議。 http/2 1.http/2對每個源只需創建一個持久連接&#xff0c;在這一個連接內&#xff0c;可以并行的處理多個請求和響應&#xff0c;而且做到不相互影響。 2.允許客戶端和服務端實現自己的數據…

微服務、分布式、云架構構建電子商務平臺

大型企業分布式微服務云架構服務組件 實現模塊化、微服務化、原子化、灰度發布、持續集成 分布式、微服務、云架構構建電子商務平臺 commonservice eureka Netflix事件、消息總線&#xff0c;用于在集群&#xff08;例如&#xff0c;配置變化事件&#xff09;中傳播狀態變化&am…

使用Matplotlib Numpy Pandas構想泰坦尼克號高潮

Did you know, a novel predicted the Titanic sinking 14 years previously to the actual disaster???您知道嗎&#xff0c;一本小說預言泰坦尼克號在14年前沉沒到了真正的災難中&#xff1f;&#xff1f;&#xff1f; In 1898 (14 years before the Titanic sank), Amer…

spark 架構_深入研究Spark內部和架構

spark 架構by Jayvardhan Reddy通過杰伊瓦爾丹雷迪(Jayvardhan Reddy) 深入研究Spark內部和架構 (Deep-dive into Spark internals and architecture) Apache Spark is an open-source distributed general-purpose cluster-computing framework. A spark application is a JV…

使用faker生成測試數據

需要先安裝faker模塊&#xff0c;pip install faker 導入模塊中的Faker類&#xff1a;from faker import Faker 實例化faker Faker() print(姓名相關) print(姓名:,faker.name()) print(名:,faker.first_name()) print(姓:,faker.last_name()) print(男姓名:,faker.name_male(…

JavaScript中的數組創建

JavaScript中的數組創建 本文轉載自&#xff1a;眾成翻譯 譯者&#xff1a;loveky 鏈接&#xff1a;http://www.zcfy.cc/article/713 原文&#xff1a;http://rainsoft.io/power-up-the-array-creation-in-javascript/ 數組是一個包含了對象或原始類型的有序集合。很難想象一個…