Skip to main content
Version: 2.17.1

朴素贝叶斯

  • 算法介绍

    基于贝叶斯定理的概率分类算法,假设每个特征与类之间存在多项式分布的关系。通过使用训练集的每个样本的多项式统计信息来拟合模型参数。

  • 使用场景

  1. 文本分类:常用于垃圾邮件过滤、新闻分类和情报机构领域的情感分析等场景。
  2. 统计语言模型:利用其能够识别自然语言模式的特点,在纠错、单词预测等方面表现出色。
  3. 缺失数据处理:可以使用 MultinomialNB 模型来填充缺失数据,处理缺少重要特征的数据集。
  4. 小型数据集:由于模型具有简单而高效地训练方式,因此它在小型数据集上表现良好。
  5. 多类别分类问题:适合解决多类别分类问题,以及非标称值分类问题。
  • 优势介绍
  1. 算法简单,易于实现和解释。
  2. 对于小型数据集表现良好。
  3. 具有较快的训练速度和预测速度。
  4. 在处理文本数据等多类别分类问题上具有良好的性能。
  5. 不需要大量的训练数据,适用于高维数据集。
  • 劣势介绍
  1. 模型假设特征之间条件独立,因此无法探索特征之间的相互依赖关系。
  2. 对于连续的特征变量建模效果不如高斯朴素贝叶斯更好。
  3. 对噪声敏感,需要进行特征选择或者正则化来改进模型的性能。
  4. 在某些数据集中表现不佳,例如在类别之间的“决策边界”模糊的情况下。
  • 参数介绍

    仅支持通过可视化方式,配置读取该组件参数,参数详情如下表所示:

页签参数参数名称是否必选参数描述默认值
数据源表名inputTable数据表
默认参数选择特征标签列labelColName输入表中选择标签列名类型。
模型参数平滑参数alpha添加拉普拉修/Lidstone平滑参数。当alpha=1时,为Laplace平滑。当alpha>0且alpha<1时,称作Lidstone平滑。当alpha=0时,不做平滑。1.0
模型参数是否学习先验概率fit_prior参数为True表示学习先验概率,参数为False表示所有类标记具有相同的先验概率。True
  • 推荐参数值

    在Multinomial Naive Bayes 模型中,主要有两个参数需要优化,即 alpha 和 fit_prior。推荐的 alpha 和 fit_prior 的默认值为 1.0 和 True。

  1. alpha 参数:alpha 在概率估计中是一个平滑因子,用于调整当事件没有出现时不应成为负数的情况。alpha 的值可以控制模型的复杂度,较小的 alpha 值通常导致更好的性能。

  2. fit_prior 参数:fit_prior 是一个布尔变量,用来指定是否学习先验概率,如果设置为 False,则使用统一先验概率。

    根据数据集和需求不同,建议尝试多种参数搭配进行调参,以获得最佳的性能。

  • 调参建议
  1. 使用交叉验证(cross-validation):交叉验证可以帮助我们在训练集中分配子集以进行参数训练,并在剩余部分中验证性能。这有助于防止过拟合,同时确保我们获得更准确的评估指标。
  2. 理解模型:理解 Multinomial Naive Bayes 模型的特点对调优至关重要。例如,alpha 参数的值越小,模型会变得更复杂,并且可能过度拟合训练数据。使用一个较大的 alpha 值或设为 None 可以减少过度拟合,从而提高模型的泛化性能。
  3. 观察数据集:观察数据集的特点对模型的调优也很重要。Multinomial Naive Bayes 模型适用于离散分布的特征数据,应该根据数据集的特性来进行特征的选择。可以使用特征相关性分析、哪些特征能够提供更多的信息增益来评估和选择特征。
  4. 正则化参数:Multinomial Naive Bayes 模型中,可以采用 L1或 L2正则化参数技术,以减少模型过度拟合现象。对于数据比较稠密的情况,建议使用 L1 正则化参数;数据稀疏的情况下,建议使用 L2 正则化参数。