当前位置: 首页 > 编程日记 > 正文

机器学习常见的分类算法的优缺点

1. 前言

在机器学习中,种类最多的一类算法要属很类算法,本文对机器学习中的各种分类算法的优缺点做一个总结。

2. 贝叶斯分类法

2.1 优点

  1. 所需估计的参数少,对于缺失数据不敏感
  2. 有着坚实的数学基础,以及稳定的分类效率。

2.2 缺点

  1. 假设属性之间相互独立,这往往并不成立。(喜欢吃番茄、鸡蛋,却不喜欢吃番茄炒蛋)。
  2. 需要知道先验概率。
  3. 分类决策存在错误率。

3. 决策树

3.1 优点

  1. 不需要任何领域知识或参数假设。
  2. 适合高维数据。
  3. 简单易于理解。
  4. 短时间内处理大量数据,得到可行且效果较好的结果。
  5. 能够同时处理数据型和常规性属性。

3.2 缺点

  1. 对于各类别样本数量不一致数据,信息增益偏向于那些具有更多数值的特征。
  2. 易于过拟合。
  3. 忽略属性之间的相关性。
  4. 不支持在线学习。

4. 支持向量机

4.1 优点

  1. 可以解决小样本下机器学习的问题。
  2. 提高泛化性能
  3. 可以解决高维、非线性问题。超高维文本分类仍受欢迎。
  4. 避免神经网络结构选择和局部极小的问题。

4.2 缺点

  1. 对缺失数据敏感。
  2. 内存消耗大,难以解释。
  3. 运行和调差略烦人。

5. K近邻

5.1 优点

  1. 思想简单,理论成熟,既可以用来做分类也可以用来做回归。
  2. 可用于非线性分类。
  3. 训练时间复杂度为O(n)。
  4. 准确度高,对数据没有假设,对outlier不敏感。

5.2 缺点

  1. 计算量太大。
  2. 对于样本分类不均衡的问题,会产生误判。
  3. 需要大量的内存。
  4. 输出的可解释性不强。

6. Logistic回归

6.1 优点

  1. 运算速度快
  2. 简单易于理解,直接看到各个特征的权重。
  3. 能容易地更新模型吸收新的数据。
  4. 如果想要一个概率框架,动态调整分类阀值。

6.2 缺点

  1. 特征处理复杂。需要归一化和较多的特征工程。

7. 神经网络

7.1 优点

  1. 分类准确率高。
  2. 并行处理能力强。
  3. 分布式存储和学习能力强
  4. 鲁棒性较强,不易受噪声影响。

7.2 缺点

  1. 需要大量参数(网络拓扑、阀值、阈值)。
  2. 结果难以解释。
  3. 训练时间过长。

8. Adaboost

8.1 优点

  1. adaboost是一种有很高精度的分类器。
  2. 可以使用各种方法构建子分类器,Adaboost算法提供的是框架。
  3. 当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单。
  4. 简单,不用做特征筛选。
  5. 不用担心overfitting。

8.2 缺点

  1. 对outlier比较敏感

转载于:https://www.cnblogs.com/huangyc/p/10363824.html

相关文章:

公司新来一个同事:为什么 HashMap 不能一边遍历一边删除?一下子把我问懵了!

前段时间,同事在代码中KW扫描的时候出现这样一条:上面出现这样的原因是在使用foreach对HashMap进行遍历时,同时进行put赋值操作会有问题,异常ConcurrentModificationException。于是帮同简单的看了一下,印象中集合类在进行遍历时同时进行删除或者添加操作时需要谨慎,一般使用迭代器进行操作。于是告诉同事,应该使用迭代器Iterator来对集合元素进行操作。同事问我为什么?这一下子把我问蒙了?对啊,只是记得这样用不可以,但是好像自己从来没有细究过为什么?

一文搞懂MySQL索引

官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。看到这里,你是不是对于自己的sql语句里面的索引的有了更多优化想法呢。

leetcode-45 跳跃游戏II

给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 示例: 输入: [2,3,1,1,4] 输出: 2 解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标…

做技术到底可以做到哪种地步-技术为什么越走越窄 (转)

尽管做技术已经有不少年头了,不管是犹犹豫豫还是坚定不移,我们走到了现在,依然走在技术这条路上。 不管我们处于何种职位,拿着哪种薪水,其实,我们会是不是的问问自己“做技术到底可以做到那种地步”&#x…

linux本地agent执行脚本_github 4.4K星|马哥教育企业教练团队研发一款轻量级、无Agent自动化运维平台...

马哥教育企业教练团队研发了一款自动化运维平台系统—Spug,上线后广受中小运维爱好者喜爱,目前github4.4k星,已经成为自动化热门项目。2020年了,运维不会搞运维自动化,都不好意思说自己做运维的了,大一点的…

mysql 数据目录更改

[CentOS]MySQL更改数据文件存储目录环境:CentOS(Linux) Mysql5.X 1.如果MySQL已经启动的话,需要先停止MySQL的运行#service mysqld stop2.home 目录下新建目录[data]/home #mkdir data3.移动MySQL默认数据库文件#mv /var/lib/mysql /home/data4.修改MySQ…

leetcode-452 用最少数量的箭引爆气球

在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球…

ssm 异常捕获 统一处理_SpringMVC 统一异常处理介绍及实战

背景什么是统一异常处理目标统一异常处理实战用 Assert(断言) 替换 throw exception定义统一异常处理器类扩展总结《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》…

【iOS开发】企业版证书($299)In-House方式发布指南 (转)

一、明确几个概念 1、企业版IDP:即iOS Development Enterprise Program。注意是$299/Year那种,并不是$99/Year的那种。 2、In House:是只企业内部发布,仅限企业内部人员使用。 二、In-House方式特点 1、不能发布到Appl…

苹果所有常用证书,appID,Provisioning Profiles配置说明及制作图文教程(精)

概述: 苹果的证书繁锁复杂,制作管理相当麻烦,今天决定重置一个游戏项目中的所有证书,做了这么多次还是感觉很纠结,索性直接记录下来,日后你我他查阅都方便; 首先得描述一下各个证书的定位&#…

ES6语法~解构赋值、箭头函数、class类继承及属性方法、map、set、symbol、rest、new.target、 Object.entries......

2015年6月17日 ECMAScript 6发布正式版本 前面介绍基本语法, 后面为class用法及属性方法、set、symbol、rest等语法. 一、基本语法: 1、 定义变量:let 使用var 定义的变量没有{ }限制,在条件中定义的i,全局中都可以使用&#xff0c…

读书:历史 -- 东印度公司

浅田实 — 日本 文学博士、英国近世史学专家 东印度公司曾经为英国殖民印度,扮演过冲锋陷阵的历史角色。 富可敌国来形容东印度公司绰绰有余,它的崛起和衰落是时代变迁的缩影。 英国发起的第一次工业革命迫切需要资本的输入和输出来带动蒸汽齿轮得高速转…

2014腾讯校园招聘研发笔试题

嘿嘿转载于:https://www.cnblogs.com/churi/p/3969749.html

用74l138实现一个一位全减器_用pygame实现一个简单的五子棋游戏

准备python基础相关准备:pygame的基础知识,参考目光博客的“用Python和Pygame写游戏-从入门到精通”安装python 3.8.0 在python官网下载,不多说。安装pygame,命令:pip install pygame如安装较慢,可以参考如…

大量LAST_ACK 的分析过程

2019独角兽企业重金招聘Python工程师标准>>> 记录一下自己的思想过程 现象:在netstat的时候发现大量处于LAST_ACK状态的TCP连接,达到在ESTABLISHED状态的90%以上 [rootccsafe ~]# netstat -ant|fgrep ":"|cut -b 77-90|sort |uniq -c …

操作系统--内存管理方式

“碎片的内存”描述一个系统中所有不可用的空闲内存。这些资源之所以仍然未被使用,是因为负责分配内存的分配器使这些内存无法使用。这一问题通常都会发生,原因在于空闲内存以小而不连续方式出现在不同的位置。由于分 配方法决定内存碎片是否是一个问题&…

题解 UVA11354 【Bond】

并查集按秩合并 传送门 大意:给出一张n个点m条边的无向图, 每条边有一个权值,有q个询问, 每次给出两个点s、t,找一条路, 使得路径上的边的最大权值最小。 我们可以发现,跑最小生成树会跑挂&…

管理 zabbix_Zabbix 2019 峰会丨看睿象云如何在 Zabbix 中玩转告警

2019年11月29日-30日,为期两天的 Zabbix 大会中国站在北京盛大召开,本届 Zabbix 大会以“新视界,新技术,共建未来新监控!”为主题,为与会人员提供前沿的监控技术学习,多元的行业案例讲解,以及现…

Oracle存储过程返回游标实例详解

复制代码 代码如下:CREATE OR REPLACE PROCEDURE PROCSENDEMAIL(P_TXT VARCHAR2, P_SUB VARCHAR2, P_SENDOR VARCHAR2, P_RECEIVER VARCHAR2, P_SERVER VARCHAR2, P_PORT NUMBER DEFAULT 25, P_NEED_SMTP INT DEFAULT 0, P_USER VARCHAR2 DEFAULT NULL, P_PASS VARCHAR2 DEFAUL…

03 Django REST Framework 视图和路由

01-DRF中的request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等。 比如,区别于Django中的request从request.GET中获取URL参数,从request.POST中取某些情况下的POST数据…

[Quick-x]制作新手引导高亮区域方法之二:裁剪模式

demo下载:https://github.com/chenquanjun/Quick-x-HighlightArea 2、裁剪模式 (1)创建裁剪对象 local bgColor ccc3(255, 0, 0) --非高亮区域颜色local bgOpacity 0.6 --非高亮区域透明度local layerColor CCLayerColor:create(ccc4(bgColor.r, bgColor.g, bgCo…

单一窗口关区备案_单一窗口税费支付权限管理

企业需先使用法人卡登录“单一窗口”税费支付系统进行业务权限授权后,才可以使用操作员卡查询、支付、打印税单等。“业务权限授权”模块提供税费支付企业相关业务权限(关区、协议)的授权功能。使用“单一窗口”税费支付系统的部门、用户、角色管理与权限配置等操作…

每日一题题目29:五个数字能组成多少互不重复的四位数

#有五个数字:1、2、3、4、5,能组成多少个互不相同且无重复数字的四位数?各是多少? e [] for a in range(1,6):for b in range(1,6):for c in range(1,6):for d in range(1,6):if a!b and a!c and a!d and b!c and b!d and c!d:e.a…

读书:历史 -- 空王冠

15世纪50到80年代的玫瑰战争,短短30年间王冠易手7次,成千上万人死于战乱。这段时期,可以算得上英国历史上最混乱、最残暴的历史时期。 英国统治时间最长的金雀花王朝分崩离析,被都铎王朝取代。

机器人香囊_青少年智能机器人等级评定~户外营~圆满结束!

2020暑期田园探秘~青少年智能机器人等级评定户外营在8月3日至7日短暂而愉快的欢乐时光中圆满结束了让我们一起来回顾一下这愉快、欢乐、体验成长的时光孩子们在激动的心情下踏上了探秘的欢快路途......初到营地的第一件事~组建团队~首先让大家见识一下我们的团队我们的团队由&a…

Linux下DB2数据库安装教程

最近因为工作需要在学习DB2数据库,本教程讲解DB2数据库在inux下的安装步骤。 安装前请查看 DB2版本和许可证 说明来增加了解,先弄明白改安装什么版本,这里我用的是最新的Express-C版本,这个版本是提供给个人学习用的版本。 管理客…

Ubuntu 13.04 安装 OpenCV 及试用

2019独角兽企业重金招聘Python工程师标准>>> 暑假来了,项目需要,得学习一下 OpenCV。 首先,是安装问题。我是参照这个网址安装的:http://karytech.blogspot.com/2012/05/opencv-24-on-ubuntu-1204.html(在…

Python3 调试技巧 —— 死循环

说下Python3不使用gdb的自身调试 前情提要:服务器莫名卡死,用网上的方法用gdb,下载了很多组件,包括那个libpython.py,都没什么用,看不到堆栈,也试了保存core文件等等 大事找官方:官方…