目录

  • 一、朴素贝叶斯模型
    • 1 应用场景
    • 2 模型优点
    • 3 模型缺点
    • 4 模型种类
      • 4.1 高斯贝叶斯分类器
      • 4.2 多项式贝叶斯分类器
      • 4.3 伯努利贝叶斯分类器
  • 二、SVM模型
    • 1 算法思想
    • 2 算法优点
    • 3 算法缺点
    • 4 几种常见的SVM模型
    • 5 几种常用的SVM核函数

一、朴素贝叶斯模型

1 应用场景

朴素贝叶斯的主要应用有文本分类、垃圾文本过滤,情感判别,多分类实时预测等。

朴素贝叶斯分类器的核心假设为自变量之间是条件独立的。该假设的主要目的是为了提高算法的运算效率,如果实际数据集中的自变量不满足独立性假设时,分类器的预测结果往往会产生错误。

通常情况下,贝叶斯分类器的效果不会低于决策树。

2 模型优点

  • 算法在运算过程中简单而高效
  • 算法拥有古典概率的理论支撑,分类效率稳定
  • 算法对缺失数据和异常数据不太敏感

3 模型缺点

  • 模型的判断结果依赖于先验概率,所以分类结果存在一定的错误率
  • 对输入的自变量X要求具有相同的特征(如变量均为数值型或离散型或0-1型)
  • 模型的前提假设 (假设前提:自变量是条件独立的(自变量之间不存在相关性)) 在实际应用中很难满足等

4 模型种类

4.1 高斯贝叶斯分类器

利用高斯贝叶斯分类器对数据集进行分类时要求:

  • 输入的数据集X为连续的数值型变量
  • 假设数值型变量服从正态分布

python中,sklearn的子模块naive_bayes中的GaussianNB类

GaussianNB(priors=None) # priors:用于指定因变量各类别的先验概率,默认以数据集中的类别频率作为先验概率。

4.2 多项式贝叶斯分类器

利用多项式贝叶斯分类器对数据集进行分类时要求:

  • 输入的数据集X为离散型变量
  • 假设X变量服从多项式分布

通常情况下,会利用多项式贝叶斯分类器作文本分类,如一份邮件是否垃圾邮件、用户评论是否为正面等。
python中,sklearn的子模块naive_bayes中的MultinomialNB类

MultinomialNB(alpha=1.0, fit_prior=True, class_prior=None)
alpha为平滑系数,为了避免概率为0而设置的

可利用pandas模块中的factorize函数对离散的自变量进行数值转换

4.3 伯努利贝叶斯分类器

利用伯努利贝叶斯分类器对数据集进行分类时要求:

  • 输入的数据集X为0-1二元值
  • 假设X变量服从伯努利分布

python中,sklearn的子模块naive_bayes中的BernoulliNB类

BernoulliNB(alpha=1.0, binarize=0.0, fit_prior=True, class_prior=None)
binarize:如果该参数为浮点型数值,则将以该值为界限,当自变量的值大于该值时,自变量的值将被转换为1,否则被转换为0;如果该参数为None时,则默认训练数据集的自变量均为0-1值。

二、SVM模型

Support Vector Machine,支持向量机。该算法具有较高的预测准确率,受企业界的欢迎,如利用该算法实现医疗诊断、图像识别、文本分类、市场营销等。

1 算法思想

**利用某些支持向量所构成的“超平面”,将不同类别的样本点进行划分。**不管样本点是线性可分的、近似线性可分的还是非线性可分的,都可以利用“超平面”将样本点以较高的准确度切割开来。(将低维线性不可分的空间转换为高维的线性可分空间。)

!如果样本点为非线性可分,就要借助于核函数技术,实现样本在核空间下完成线性可分的操作。

2 算法优点

  • 由于SVM模型最终所形成的分类器仅依赖于一些支持向量,这就导致模型具有很好的鲁棒性(增加或删除非支持向量的样本点,并不会改变分类器的效果)
  • 避免“维度灾难”的发生(模型并不会随数据维度的提升而提高计算的复杂度)
  • 模型具有很好的泛化能力,一定程度上可以避免模型的过拟合
  • 可以避免模型在运算过程中出现的局部最优

3 算法缺点

  • 模型不适合大样本的分类或预测,因为它会消耗大量的计算资源和时间
  • 模型对缺失样本非常敏感,这就需要建模前清洗好每一个观测样本
  • 虽然可以通过核函数解决非线性可分问题,但是模型对核函数的选择也同样很敏感
  • SVM为黑盒模型(相比于回归或决策树等算法),对计算得到的结果无法解释

4 几种常见的SVM模型

  • 线性可分的SVM
  • 近似线性可分SVM:牺牲少部分异常点的利益,确保大部分的样本点都能够被线性可分。
  • 非线性可分SVM:核心思想就是把原始数据扩展到更高维的空间,然后基于高维空间实现样本的线性可分。

Python中提供了有关线性可分SVM或近似线性可分SVM的实现功能,读者只需要导入sklearn模块,并调用svm子模块中的LinearSVC类即可。
关于非线性可分SVM模型的功能实现,可以利用Python中的sklearn模块,读者可以通过调用svm子模块中的SVC类

5 几种常用的SVM核函数

  • 线性核函数
  • 多项式核函数
  • 高斯核函数
  • Sigmoid核函数

在实际应用中,SVM模型对核函数的选择是非常敏感的,所以需要通过先验的领域知识或者交叉验证的方法选出合理的核函数。

朴素贝叶斯模型、SVM模型笔记相关推荐

  1. r包调用legend函数_R语言实现基于朴素贝叶斯构造分类模型数据可视化

    本文内容原创,未经作者许可禁止转载! 目录 一.前言 二.摘要 三.关键词 四.算法原理 五.经典应用 六.R建模 1.载入相关包(内含彩蛋): 1.1 library包载入 1.2 pacman包载 ...

  2. 机器学习番外篇—朴素贝叶斯三种模型(多项式,高斯,伯努利)

    朴素贝叶斯三种模型(多项式,高斯,伯努利) 高斯 有些特征可能是连续型变量,比如说人的身高,物体的长度,这些特征可以转换成离散型的值,比如如果身高在160cm以下,特征值为1:在160cm和170cm ...

  3. 用朴素贝叶斯和SVM进行文本分类

    写在前面的感悟: 测试集文件删除一定要shift+delete!!!!!要不然回收站直接爆炸,用几个小时打开,然后再用几个小时清空.文本分类的数据集看似只有几个G那么大,但是架不住文件数量多,导致各种 ...

  4. 【机器学习】朴素贝叶斯、SVM和数据分布检验分析

    [机器学习]朴素贝叶斯.SVM和数据分布检验分析 文章目录 1 朴素贝叶斯 2 SVM2.1 线性可分2.2 最大间隔超平面2.3 SVM 最优化问题 3 数据分布检验方法3.1 数据分布检验3.2 ...

  5. 5 机器学习 朴素贝叶斯算法 高斯模型 多项式模型 伯努利模型 拉普拉普平滑系数 TfidfVectorizer

    机器学习 1 朴素贝叶斯算法 1.1 朴素贝叶斯算法介绍 朴素贝叶斯算法是一种衡量标签和特征之间概率关系的监督学习算法,是一种专注于分类的算法."朴素"二字表示这个算法基于一个朴素 ...

  6. 【机器学习--朴素贝叶斯与SVM进行病情分类预测】

    贝叶斯定理由英国数学家托马斯.贝叶斯(Thomas Baves)在1763提出,因此得名贝叶斯定理.贝叶斯定理也称贝叶斯推理,是关于随机事件的条件概率的一则定理. 对于两个事件A和B,事件A发生则B也 ...

  7. 《数据分析实战》总结二之分类算法:决策树,朴素贝叶斯,SVM,KNN,Adaboost

    1 决策树 1.1 工作原理 把以前的经验总结出来,最后得到结果 比如打篮球,一般会根据"天气"."温度"."湿度"."刮风&qu ...

  8. 机器学习实验二:朴素贝叶斯和SVM——肿瘤分类与预测(朴素贝叶斯)

    实操项目 1--肿瘤分类与预测(朴素贝叶斯) 实验要求 采用朴素贝叶斯方法,对美国威斯康星州的乳腺癌诊断数据集进行分类,实现针对乳腺癌检测的分类器,以判断一个患者的肿瘤是良性还是恶性. [实验要求] ...

  9. 判别模型、生成模型与朴素贝叶斯方法

    1.判别模型与生成模型 上篇报告中提到的回归模型是判别模型,也就是根据特征值来求结果的概率.形式化表示为,在参数确定的情况下,求解条件概率.通俗的解释为在给定特征后预测结果出现的概率. 比如说要确定一 ...

  10. 判别模型、生成模型和朴素贝叶斯模型

    1判别模型与生成模型 上篇报告中提到的回归模型是判别模型,也就是根据特征值来求结果的概率.形式化表示为,在参数确定的情况下,求解条件概率.通俗的解释为在给定特征后预测结果出现的概率. 比如说要确定一只 ...

最新文章

  1. Drupal8系列(五):主题制作之搭建框架-Ubuntu 14.04 LTS
  2. 怎样用c语言写超市管理程序,C语言超市收银管理系统实现程序.doc
  3. 为什么建议学生积极参与开源项目?
  4. 第一个SSCLI范例:echo的调试问题
  5. C++ 数组与指针详解之终极无惑
  6. 欧几里得求最大公约数--JAVA递归实现
  7. 《Netty权威指南》(二)NIO 入门
  8. How can I add a site title refiner
  9. 数据结构课程设计-商品货架管理(C语言)
  10. 公司邮箱地址格式是什么?邮箱地址怎么写?邮箱地址大全
  11. 红孩儿编辑器的模块设计15
  12. intel UHD graphics 620/630 -win7 驱动
  13. pr基本图形模板无法使用_辣么美的PR基本图形模板,不能改字体怎么办
  14. 常见的鼠标事件以及onmouseover与onmousemove的区别
  15. V神赞许的Aztec,如何让以太坊更隐私?
  16. 彻底解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)
  17. 根据excel模板导出
  18. Docker-配置私有仓库
  19. abstract用法
  20. 台式机机械硬盘的安装

热门文章

  1. 什么是指令重排序?为什么要重排序?
  2. 校园网免认证上网的方法
  3. 一本通1646GT 考试
  4. CString - 详解
  5. jQuery实现简单实用的H5(手机端)下拉分页加载(所谓的懒加载!!!)
  6. CMMI2.0是什么?
  7. NLP-词汇表征与词嵌入
  8. allure 下载地址
  9. 【ES】ES、JS之间的关系
  10. Python+OpenCV人脸识别签到考勤系统(新手入门)