我目前正在尝试训练Naive Bayes分类器,以帮助我对数据集进行分类。每个数据集都是由不同可能事件组成的日志。总共我有大约150个事件,我将其编码为日志属性,因此它显示了它们发生的频率。
总的来说,我有大约600个数据集 - 我使用400作为训练子集,其余200作为测试子集。
在创建模型并将其应用于测试子集时,会发生一些奇怪的事情:大多数测试数据集被归类为在训练数据集中以最小频率出现的那些类。 大多数在训练数据中表现得非常好的课程根本不会显示为分类结果。不是你想要的,也不是正确的。
如果需要代码,我会稍后发布 - 但我认为这必须对Naive Bayes的工作方式以及我的数据结构方式做些什么。
感谢您的帮助!
答案 0 :(得分:0)
你可以轻松调试朴素贝叶斯(它不是黑盒子分类器,与神经网络不同,它是NB的一大优势)。
在训练之后,查看给定类P(x_i | y)的特征的经验对数概率。它的形状为(n_classes, n_features)
。
在看了错误分类的示例功能之后,您就可以看到它错误的类了。