当前位置: 首页 > news >正文

《机器学习----简单的分类器》第二章、朴素贝叶斯,项目:使用特征值给语句打标签

贝叶斯分类器

    • 1,朴素贝叶斯算法
            • 1. 朴素贝叶斯算法、
            • 2. 算法思路
            • 3. 贝叶斯定理
            • 4.特征的选用的要求和处理
    • 2,算法应用
            • 1 文本分类
            • 2 垃圾邮件过滤
            • 3 情感分析
    • 3. 朴素贝叶斯的优缺点
          • 1. 优点
          • 2. 缺点
    • 项目实践
        • 1,算法流程
        • 2,具体实现

1,朴素贝叶斯算法

1. 朴素贝叶斯算法、

朴素贝叶斯算法是基于概率统计的分类方法。它的核心思想是利用贝叶斯定理来估计在给定特征的条件下某个类别的概率,然后选择具有最高概率的类别作为预测结果。在分类问题中,我们通常有一个数据集,其中包含了带有标签的样本,以及一些特征,用于描述这些样本。

2. 算法思路

简单的来说朴素的贝叶斯算法就是选用几个特征值进行特征判断,我们选用几个特征值作为分类标准,我们首先对训练集进行处理得到特征值的概率分布,基于下面的贝叶斯原理我们创建出来一个相关的方程来进行拟合出来一个分类的概率,概率最大的判断的依据。

(选用特征值 ----- >>>> 训练模型(使用贝叶斯定理) ------ >>>> 检验模型 )
在这里插入图片描述

3. 贝叶斯定理

朴素贝叶斯算法基于贝叶斯定理,该定理表示如何计算在已知条件下事件的概率。贝叶斯定理的数学表示如下:

[P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}]

  • (P(A|B)):在给定事件B的条件下,事件A发生的概率。
  • (P(B|A)):在给定事件A的条件下,事件B发生的概率。
  • (P(A)):事件A发生的概率。
  • (P(B)):事件B发生的概率。

在朴素贝叶斯中,事件A代表类别,事件B代表特征。算法通过计算在已知特征的条件下每个可能的类别的概率,然后选择概率最高的类别。

4.特征的选用的要求和处理

首先是特征值的选用,在特征值的选用中一定要选用在这几个标准中都存在的特征值,我们都要进行对他们进行概率的计算,如果当前没有这个特征值我们使用拉普拉斯平滑技巧对他每个值的概率都加上1就可以。

2,算法应用

使用朴素的贝叶斯算法进行拟合出来的模型会过于简单,一般我们用这个算法进行一些文本分析,在文本分析的前期预处理种贝叶斯算法还是有不错的成绩的,下面我们介绍几种可以使用贝叶斯算法进行拟合的例子。

1 文本分类

朴素贝叶斯在文本分类中广泛应用,例如垃圾邮件过滤、情感分析、主题分类等。它可以根据文本中的单词或短语出现的概率来自动分类文档。

2 垃圾邮件过滤

在垃圾邮件过滤中,朴素贝叶斯可以通过分析邮件中的词语、短语以及它们在垃圾邮件和非垃圾邮件中出现的频率来识别是否是垃圾邮件。

3 情感分析

情感分析用于确定文本中的情感倾向,例如正面、负面或中性。朴素贝叶斯可以通过分析文本中的词语和它们在不同情感类别中的出现概率来进行情感分类。

3. 朴素贝叶斯的优缺点

1. 优点
  • 简单而高效:朴素贝叶斯算法非常简单,容易实现,并且在处理大规模数据集时表现出色。
  • 对小样本数据有效:即使在数据量较小的情况下,它也能表现良好。
  • 处理多类别问题:朴素贝叶斯可用于多类别分类问题。
2. 缺点
  • "朴素"假设:特征之间的独立性假设通常在实际问题中不成立,可能导致模型性能下降。
  • 对输入数据分布的敏感性:对于不符合贝叶斯假设的数据分布,性能可能不佳。
  • 需要大量的特征工程:选择合适的特征和预处理文本数据可能需要大量的工作。

项目实践

1,算法流程

1,选用合适的特征值
2,构架贝叶斯项目程序
3,运行程序得出测试结果
4,编写检验程序,使用检验程序测试程序错误率

2,具体实现

—>请见项目库

http://www.lryc.cn/news/197811.html

相关文章:

  • 01. 汇编LED驱动实验
  • Hadoop3教程(二十):MapReduce的工作机制总结
  • 浅谈AI大模型技术:概念、发展和应用
  • 【Leetcode】212.单词搜索II(Hard)
  • 146.LRU缓存
  • 使用transformers过程中出现的bug
  • Hadoop3教程(二十二):Yarn的基础架构与工作流程
  • 离线 notepad++ 添加到右键菜单
  • 怎么让英文大语言模型支持中文?--构建中文tokenization--继续预训练--指令微调
  • 笙默考试管理系统-MyExamTest----codemirror(35)
  • MMKV(2)
  • Spring Boot项目中使用 TrueLicense 生成和验证License(附源码)
  • ES6 Iterator 和 for...of 循环
  • ubuntu20.04 nvidia显卡驱动掉了,变成开源驱动,在软件与更新里选择专有驱动,下载出错,调整ubuntu镜像源之后成功修复
  • 华为FAT模式无线AP配置实例
  • nodejs基于vue 学生论坛设计与实现
  • 017 基于Spring Boot的食堂管理系统
  • 常用的二十种设计模式(下)-C++
  • C#桶排序算法
  • 快速了解服务器单CPU与双CPU
  • c# Dictionary、ConcurrentDictionary的使用
  • 大数据中间件——Kafka
  • HarmonyOS/OpenHarmony原生应用-ArkTS万能卡片组件Slider
  • SpringCloud: sentinel链路限流
  • UML 中的关系
  • ChatGPT技术或加剧钓鱼邮件攻击
  • 哨兵1号后向散射系数土壤水分反演
  • day3:Node.js 基础知识
  • 【RDMA】librdmacm库和连接建立过程
  • 如何使用Python抓取PDF文件并自动下载到本地