我正在使用朴素贝叶斯分类器将数千个文档分类为30个不同的类别。我实现了一个朴素的贝叶斯分类器,通过一些特征选择(主要是过滤无用的单词),我获得了大约30%的测试准确率,45%的训练准确率。这比随机的要好得多,但我希望它更好。
我尝试过使用NB实现AdaBoost,但似乎并没有给出明显更好的结果(文献似乎在这一点上存在分歧,一些论文说使用NB的AdaBoost不会提供更好的结果,其他的则是)。您是否知道NB的其他扩展可能会提供更好的准确性?
发布于 2017-04-07 07:36:51
使用拉普拉斯校正和AdaBoost。
在AdaBoost中,首先将权重分配给训练数据集中的每个数据元组。初始权重是使用init_weights
方法设置的,该方法将每个权重初始化为1/d
,其中d
是训练数据集的大小。
然后,调用generate_classifiers
方法,该方法运行k
时间,创建朴素贝叶斯分类器的k
实例。然后对这些分类器进行加权,并在每个分类器上运行测试数据。分类器的加权“票数”之和构成最终分类。
发布于 2014-01-25 01:49:31
保持较小的n大小也可以使NB提供高精度的结果。而在核心,随着n大小的增加,其精度会降低,
发布于 2016-11-11 15:26:23
选择它们之间相关性较小的特征。并尝试一次使用不同的功能组合。
https://stackoverflow.com/questions/3473612
复制相似问题