创建贝叶斯网络并使用Python3.x学习参数
machine-learning
python-3.x
scikit-learn
2
0

我正在寻找Windows上最适合python3.x的工具,以创建贝叶斯网络,从数据中了解其参数并执行推理。

我要定义自己的网络结构如下: 在此处输入图片说明

它是取自文件。

除了“大小”和“ GraspPose”(它们是连续的,应将其建模为高斯混合模型)外,所有变量都是离散的(并且只能采用2种可能的状态)。

作者使用Expectation-Maximization算法来学习条件概率表的参数,并使用Junction-Tree算法来计算精确的推论。

据我了解,所有这些都是通过Murphy的Bayes Net Toolbox在MatLab中实现的。

我试图在python中搜索类似内容,这是我的结果:

  1. Python的贝叶斯网络工具箱http://sourceforge.net/projects/pbnt.berlios/http://pbnt.berlios.de/ )。网站无法正常工作,似乎不支持项目。
  2. BayesPy https://github.com/bayespy/bayespy我认为这是我真正需要的,但是我找不到与我的案例类似的示例,以了解如何进行网络结构的构建。
  3. PyMC似乎是一个功能强大的模块,但是在Windows 64 python 3.3上导入它时遇到了问题。安装开发版本时出现错误

    警告(theano.configdefaults):未检测到g ++! Theano将无法执行优化的C实现(针对CPU和GPU),并且默认为Python实现。性能将严重下降。要删除此警告,请将Theano标志cxx设置为空字符串。

更新:

  1. libpgm( http://pythonhosted.org/libpgm/ )。正是我需要的,不幸的是python 3.x不支持
  2. 积极开发的图书馆非常有趣:PGMPY。不幸的是,尚不支持连续变量和从数据中学习。 https://github.com/pgmpy/pgmpy/

任何建议和具体示例将不胜感激。

参考资料:
Stack Overflow
收藏
评论
共 1 个回答
高赞 时间 活跃

石榴似乎最近已更新为包括贝叶斯网络。我自己还没有尝试过,但是界面看起来不错,看起来很滑。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号