多项式朴素贝叶斯参数 alpha 设置? scikit学习

新手上路,请多包涵

有谁知道在进行朴素贝叶斯分类时如何设置 alpha 参数?

例如,我首先使用词袋构建特征矩阵,矩阵的每个单元格都是词的计数,然后我使用 tf(term frequency) 对矩阵进行归一化。

但是当我使用朴素贝叶斯建立分类器模型时,我选择使用多项式NB(我认为这是正确的,而不是伯努利和高斯)。默认的 alpha 设置是 1.0(文档说它是拉普拉斯平滑,我不知道是什么)。

结果真的很糟糕,只有 21% 的召回率找到了正类(目标类)。但是当我设置 alpha = 0.0001(我随机选择)时,结果得到 95% 的召回率。

此外,我检查了多项式 NB 公式,我认为这是因为 alpha 问题,因为如果我使用单词计数作为特征,alpha = 1 不会影响结果,但是,因为 tf 在 0- 1、alpha=1是真的影响这个公式的结果。

我也测试了没有使用tf的结果,只使用了词袋的计数,结果也是95%,那么,有谁知道如何设置alpha值吗?因为我必须使用 tf 作为特征矩阵。

谢谢。

原文由 HAO CHEN 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 714
1 个回答

在多项式朴素贝叶斯中, alpha 参数就是所谓的 超参数;即控制模型本身形式的参数。在大多数情况下,确定超参数最佳值的最佳方法是通过对可能的参数值进行 网格搜索,使用 交叉验证 来评估模型在每个值的数据上的性能。阅读上面的链接,了解有关如何使用 scikit-learn 执行此操作的详细信息。

原文由 jakevdp 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题