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