朴素贝叶斯算法原理简述

理解朴素贝叶斯算法之前, 先应该理解什么是条件概率. 条件概率是指, 在事件A已经发生的情况下, 事件B发生的概率. 数学符号记作P(A|B). 机器学习就是利用这个原理, 对数据进行分类.
分类的过程通俗来讲, 就是:
我们有y1 ~ yn 共n种分类, 然后我们有待分类的数据x, 最终想确定x属于哪一个分类. 所以我们就有一种思想, 找出条件概率最大的y分类, 就知道x属于哪一类了. 既求: max{ P(x|y1) ... P(x|yn) }

代码示例

以下案例使用约20w篇文章进行训练, 根据文章关键词将文章分为20个类别
利用训练好的模型, 我们可以对一段未知的文本进行分类

# 导入数据集, 数据集约20M左右, 下载需要时间
from sklearn.datasets import fetch_20newsgroups
from sklearn.model_selection import train_test_split
# 文本特征提取工具, 它会将文本转换为one-hot编码
from sklearn.feature_extraction.text import CountVectorizer
# 贝叶斯算法估计器
from sklearn.naive_bayes import MultinomialNBnews = fetch_20newsgroups(subset="all")
x = news.data
y = news.target# 数据分隔
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)# 特征处理, 数据转换, 将文本数据转换为one-hot编码, 利于机器提取特征
count = CountVectorizer()
x_train = count.fit_transform(x_train)
x_test = count.transform(x_test)# 使用朴素贝叶斯估计器建模
mnb = MultinomialNB(alpha=1.0)
mnb.fit(x_train, y_train)# 验证准确率
score = mnb.score(x_test, y_test)
print("score:", score)# 自己编写一段文本, 测试分类结果
test_data = ["today is a great day. the computer has became the most useful tool for human.the next most useful tool may be AI machines."]
test_data = count.transform(test_data)y_predict = news.target_names[int(mnb.predict(test_data))]
print(y_predict)

机器学习算法: 朴素贝叶斯算法相关推荐

  1. 机器学习实战---朴素贝叶斯算法实现+使用K折交叉验证(代码详解+创新)

    <机器学习实战朴素贝叶斯算法实现+使用K折交叉验证> 未经允许,不得擅自转载! 提供数据集如下(永久有效,需要的自行下载): 链接:https://pan.baidu.com/s/1Sv0 ...

  2. 朴素贝叶斯 php,PHP实现机器学习之朴素贝叶斯算法详解.pdf

    PHP实实现现机机器器学学习习之之朴朴素素贝贝叶叶斯斯算算法法详详解解 本文实例讲述了PHP实现机器学习之朴素贝叶斯算法.分享给大家供大家参考 具体如下: 机器学习已经在我们的生活中变得随处可见了.比 ...

  3. matlab算法用python做_机器学习笔记—朴素贝叶斯算法实现(matlab/python)

    原理知道一百遍不如自己动手写一遍,当然,现在基本上不需要自己来写算法的底层code了,各路大神们已经为我等凡夫俗子写好了,直接调用就行. 这里介绍在MATLAB中和Python中应用贝叶斯算法的小例子 ...

  4. 机器学习之朴素贝叶斯算法

    作者:RayChiu_Labloy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 目录 贝叶斯公式与朴素贝叶斯算法 贝叶斯公式推导 用机器学习的视角理解贝叶斯公式 NB ...

  5. 【机器学习】朴素贝叶斯算法

    朴素贝叶斯(Naive Bayes)是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法.由于朴素贝叶斯计算联合概率,所以朴素贝叶斯模型属于生成式模型.经典应用案例包括:文本分类.垃圾邮件过滤 ...

  6. 机器学习(7): 朴素贝叶斯算法 小结及实验

    文章目录 1 朴素贝叶斯简介 2 条件概率与全概率公式 3 贝叶斯推断 4 引例 5 朴素贝叶斯算法分类 (1) GaussianNB (2) MultinomialNB (3) BernoulliN ...

  7. 机器学习基础 朴素贝叶斯算法

    文章目录 一. 朴素贝叶斯算法简介 二.概率基础复习 1.概率定义 2.案例:判断女神对你的喜欢情况 3.联合概率.条件概率与相互独立 4.贝叶斯公式 4.1 公式介绍 4.2 案例计算 4.3 文章 ...

  8. 机器学习-分类算法-朴素贝叶斯算法07

    概率:概率定义为一件事情发生的可能性 如:扔硬币某一面朝上有50%概率 "朴素"贝叶斯:所有特征之间条件独立 朴素贝叶斯-文档分类 from sklearn.datasets im ...

  9. python人工智能——机器学习——分类算法-朴素贝叶斯算法对新闻进行分类案例

    朴素贝叶斯案例流程 1.加载20类新闻数据,并进行分割 2.生成文章特征词 3.朴素贝叶斯estimator流程进行预估 代码 from sklearn.datasets import fetch_2 ...

最新文章

  1. JAVA命令行编译及运行
  2. 【计算机网络复习 数据链路层】3.3.2 差错控制(纠错编码)
  3. Java构造方法与析构方法实例剖析
  4. 超简单,一行代码获取百度文库内容,附python百度文库exe下载工具
  5. 软考网络工程师基础知识
  6. Linux 文件权限、目录权限
  7. [ITIL学习笔记]ITIL认证相关
  8. 平头哥剑池CDK 更新重磅来袭!三大亮点速看!
  9. c语言sqlite3写数据类型,在sqlite数据库中,int类型不等于integer数据类型
  10. 光纤交换机 序列号_Brocade 光纤交换机常用命令
  11. SpringBean篇 (2) 注解配置形式
  12. python3 线程 join_python 多线程 join start
  13. [2018-01-12] laravel--路由(路由与控制器)
  14. DELMIA软件教程之仿真项目文件夹结构
  15. C语言:实验5-1 使用函数计算两个复数之积.2021-07-23
  16. 2013年EMR软件实施年终总结
  17. c# winform 绘制表格填充数据并且打印预览表格
  18. 5G车联网标准的演进之路
  19. 图形学1-三维坐标系间的变换矩阵推导
  20. React Native开发之路(三)

热门文章

  1. AppImage应用启动报错:Cannot mount AppImage, please check your FUSE setup
  2. 拼多多崛起背后的电商新版图
  3. 在行内样式 或 对象格式的样式中 使用scss变量
  4. 乾胤电商:拼多多商品立减券在哪设置?
  5. Apache Kafka - ConsumerInterceptor 实战 (1)
  6. 【Python9】字典与集合
  7. 31.SAP MII产品介绍(06)功能详解(04)数据服务和系统资源
  8. kali下apt/dpkg 卸载软件
  9. ubuntu-安装Wine
  10. vue项目开发心得和一些最佳实践