小编Spu*_*Spu的帖子

创建贝叶斯网络并使用Python3.x学习参数

我正在Windows上为python3.x搜索最合适的工具来创建贝叶斯网络,从数据中学习其参数并执行推理.

网络结构我想自己定义如下: 在此输入图像描述

它是取自文件.

除"大小"和"GraspPose"之外,所有变量都是离散的(并且只能采用2种可能的状态),它们是连续的,应该被建模为高斯混合物.

作者使用期望最大化算法来学习条件概率表的参数,并使用Junction-Tree算法来计算精确推理.

据我所知,所有这些都是在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/

任何建议和具体的例子将受到高度赞赏.

machine-learning probability bayesian-networks python-3.x scikit-learn

22
推荐指数
2
解决办法
2万
查看次数

用PyAudio播放.mp3文件

pyaudio可以播放.mp3文件吗?如果是的话,请问一个例子.如果不是,将.mp3转换为.wav的最简单方法是什么?

我试过使用PyDub,可以得到我的.wav文件,但是当我尝试用PyAudio播放时,我得到以下错误:

  File "C:\Python33\lib\wave.py", line 130, in initfp
    raise Error('file does not start with RIFF id')
wave.Error: file does not start with RIFF id
Run Code Online (Sandbox Code Playgroud)

使用其他.wav样本(如果没有从mp3转换),如果效果很好.

我正在使用gTTS库为我的应用程序将文本转换为语音.它会创建我需要播放的短.mp3文件.现在我正在使用

os.system("start english.mp3")
Run Code Online (Sandbox Code Playgroud)

我想找到一个更好的方法来做到这一点.首先,我不想被限制在平台上.其次,我不喜欢当文件开始播放时弹出的播放器,我希望它留在后台.

我试图找到最简单的解决方案,因为我不需要简单的播放.

UPD:我设法用pyglet播放它.看起来很好,除了它需要太长时间......我听到声音之前有大约10秒的延迟.并且它不适用于线程(我想在程序仍在运行时播放.mp3).有没有办法让玩家留在后台而不是弹出所有其他窗户?

mp3 pyglet wav pyaudio python-3.x

3
推荐指数
1
解决办法
1万
查看次数

将列表转换为ID列表

Python 3.3:

从列表中获取最简单的方法是什么:

input = ["A", 112, "apple", 74, 112]
Run Code Online (Sandbox Code Playgroud)

以下列表:

output = [0, 1, 2, 3, 1]
Run Code Online (Sandbox Code Playgroud)

也就是说,分配从0开始自动递增的id到每个唯一条目,并将原始列表转换为此id的列表.

我知道,我可以获得便宜的课程数量

number_of_classes = len(set(input))
Run Code Online (Sandbox Code Playgroud)

但是如何创建正确有序的输出?

python list python-3.x

1
推荐指数
1
解决办法
144
查看次数