是否有任何人在Na中有任何指向朴素贝叶斯分类器实现的指针。我有5维二进制数据集。类标签也是二进制的。我在Matlab中使用了朴素贝叶斯分类器,效果很好。但是,是否有任何机器学习算法及其实现允许我从类标签中推断数据?在这种情况下,我想要从二进制类标签推断出五维二进制数据。数据样本为[1 1 0 1 0],类为0。
答案 0 :(得分:2)
由于您有二进制数据集,因此使用C:
是一个很好的实现http://users.ics.tkk.fi/jhollmen/BernoulliMix/
这是我们目前使用的开源软件,您可以实际检查他是如何实现该算法的。
关于你提出的问题,这是我的理解。
天真贝叶斯分类器(NBC)所做的是给出一些数据和标签来预测P(C | X)。根据贝叶斯定理,
P(C|X) = \frac{P(X|C)P(C)}{P(X)}
这意味着您可以做的就是预测未知数据的类别。相反,你想要做的是P(X | C)。因此,您可以像这样训练您的模型,
P(X|C) = \frac{P(C|X)P(X)}{P(C)}
因此,您必须假设您的数据的分发...以及类似的东西,因此,如果您对数据有错误的假设,它可能是如此准确。在你的情况下,你有二进制属性X想要从标签类估计,如果你假设属性是独立的,你需要的是这样的,
P(C|X_1,X_2,X_3,X_4,X_5) \proportional P(X_1|C)P(X_2|C)P(X_3|C)P(X_4|C)P(X_5|C)P(C)
这不容易解决.....
答案 1 :(得分:0)
Hava看一下R-project的这个包:
http://www.stat.ucl.ac.be/ISdidactique/Rhelp/library/e1071/html/naiveBayes.html
您已标记[C]:可以将R与您自己的C程序链接。