Naive Bayes实现和推断类标签中的数据

时间:2011-02-24 11:56:24

标签: c matlab machine-learning classification

是否有任何人在Na中有任何指向朴素贝叶斯分类器实现的指针。我有5维二进制数据集。类标签也是二进制的。我在Matlab中使用了朴素贝叶斯分类器,效果很好。但是,是否有任何机器学习算法及其实现允许我从类标签中推断数据?在这种情况下,我想要从二进制类标签推断出五维二进制数据。数据样本为[1 1 0 1 0],类为0。

2 个答案:

答案 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

     

http://cran.r-project.org/web/packages/e1071/index.html

您已标记[C]:可以将R与您自己的C程序链接。