跳到主要内容

多项式朴素贝叶斯(MultinomialNB)

组件名称多项式朴素贝叶斯(MultinomialNB)
工具集机器学习/分类/多项式朴素贝叶斯(MultinomialNB)
组件作者雪浪云-燕青
文档版本1.0
功能多项式朴素贝叶斯(MultinomialNB)分类算法
镜像名称ml_components:3
开发语言Python

组件原理

在sklearn中,提供了若干种朴素贝叶斯的实现算法,不同的朴素贝叶斯算法,主要是对P(xi|y)的分布假设不同,进而采用不同的参数估计方式。我们能够发现,朴素贝叶斯算法,主要就是计算P(xi|y),一旦P(xi|y)确定,最终属于每个类别的概率,自然也就迎刃而解了。

多项式朴素贝叶斯,适用于离散变量,其假设各个特征xi在各个类别y下是服从多项式分布的,故每个特征值不能是负数。

计算方式如下:

多项式分布应用到朴素贝叶斯上,对于文档分类问题来说,假设给定文档类型的基础上文档生成模型P(X=x|Y=c_k)。

组件

  • 组件图

输入桩

支持单个csv文件输入。

输入端子1

  • 端口名称:训练数据
  • 输入类型:Csv文件
  • 功能描述: 输入用于训练的数据

输出桩

支持sklearn模型输出。

输出端子1

  • 端口名称:输出模型
  • 输出类型:sklearn模型
  • 功能描述: 输出训练好的模型用于预测

参数配置

平滑参数

  • 功能描述:加性(拉普拉斯/利德斯通)平滑参数,0代表不进行平滑操作
  • 必选参数:是
  • 默认值:1

计算先验概率

  • 功能描述:是否计算训练数据中,标签列中类的先验概率
  • 必选参数:是
  • 默认值:true

类别的先验概率

  • 功能描述:以逗号分隔
  • 必选参数:否
  • 默认值:(无)

需要训练

  • 功能描述:该模型是否需要训练,默认为需要训练。
  • 必选参数:是
  • 默认值:true

特征字段

  • 功能描述:特征字段
  • 必选参数:是
  • 默认值:(无)

标识字段

  • 功能描述:标识字段
  • 必选参数:是
  • 默认值:(无)

使用方法

  • 将组件拖入到项目中
  • 与前一个组件输出的端口连接(必须是csv类型)
  • 点击运行该节点

测试用例

模板

右面板配置

  • 参数设置:

  • 字段设置:

输入的数据:

输出的结果: