我正在尝试在(最好是python 3,但python 2也可以接受)中使用森林(或树)增强贝叶斯分类器(原始介绍,学习python
) ,首先学习它(结构和参数学习)然后使用它用于离散分类并获得具有缺失数据的那些特征的概率。(这就是为什么只是离散分类,甚至是好的朴素分类器对我来说不是很有用。)
我的数据进来的方式,我喜欢从不完整的数据中使用增量学习,但我什至在文献中都没有发现任何可以同时做这两种方法的东西,所以任何做结构和参数学习和推理的东西都是好的回答。
似乎有一些非常独立且未维护的python包大致朝这个方向发展,但我没有看到任何最近的东西(例如,我希望pandas
用于这些计算是合理的,但OpenBayes
几乎没有使用numpy
) ,而我所见过的任何东西似乎都完全没有增强分类器。
那么,我应该从哪里节省一些实现森林增强贝叶斯分类器的工作呢?在 python 类中是否有一个很好的 Pearl 消息传递算法的实现,或者这对于增强的贝叶斯分类器是否不合适?是否有一个可读的面向对象的实现,用于学习和推断其他语言的 TAN 贝叶斯分类器,可以翻译成 python?
我知道但发现不合适的现有软件包是
milk
,它确实支持分类,但不支持贝叶斯分类器(我肯定需要分类和未指定特征的概率)pebl
,它只做结构学习scikit-learn
,它只学习朴素贝叶斯分类器OpenBayes
numarray
,自从有人将它移植到numpy
并且文档可以忽略不计以来,它几乎没有改变。libpgm
,它声称支持一组甚至不同的东西。根据主要文档,它进行推理、结构和参数学习。除了似乎没有任何精确推断的方法。- Reverend声称自己是“贝叶斯分类器”,文档可以忽略不计,通过查看源代码,我得出的结论是,根据Robinson和类似的方法,它主要是垃圾邮件分类器,而不是贝叶斯分类器。
- eBay 的
bayesian
Belief Networks允许构建通用贝叶斯网络并对其进行推理(精确和近似),这意味着它可以用于构建 TAN,但其中没有学习算法,以及 BN 是从函数构建的方式意味着实现参数学习比假设的不同实现更困难。