问题标签 [hmmlearn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - Python(hmmlearn):值错误[无法从形状广播输入数组]
我正在运行构建 HMM 模型的示例代码,但我看到它给了我价值错误。可能它是一个 numpy 错误。
我将错误视为:
我做错了什么?
python - Python:MFCC 功能中的 HMM 实现
使用 MFCC 特征作为输入数据((20X56829)的 Numpy 数组),通过应用 HMM 尝试从 HMM 的解码状态创建音频词汇表。我在 MFCC 特征中有 10 个扬声器。我需要每个扬声器 50 个状态。所以我使用了 N = 500 个状态,它会引发内存错误,但它适用于 N =100 个状态。
这是代码:
我的初始化有什么问题吗?
python - 为 python hmmlearn 包编译 C 代码时出错
我在hmmlearn
正确安装软件包时遇到了一些麻烦(在虚拟环境中);它似乎与底层 C 代码有关。该软件包可以正常安装pip
,但是当我尝试导入核心类时,出现错误:
我一直在阅读关于 SO 的其他问题,这些问题似乎可以解决这个问题,但是一种解决方案(使用 Anaconda)将不起作用,因为hmmlearn
不包括在内。似乎答案与编译 C 代码有关,但我不确定如何去做。任何帮助将非常感激!
hidden-markov-models - hmmlearn 不会收敛于简单的输入
为什么不收敛?显然 1 是散装的。
python - 使用 hmmlearn 进行模型预测时出错
嗨,我有一个数据框测试,我正在尝试使用带有 hmmlearn 的高斯 HMM 进行预测。
当我这样做时:
我得到了嗯工作正常的生产和状态数组
但是,如果我这样做:
我得到的只是 y 被设置为 1。
任何人都可以帮忙吗?
更新
这是可以迭代的代码
训练集为 0-249:
python - ImportError:没有名为 hmmlearn.hmm python 2.7 的模块
- 我在 python 脚本中遇到了这个错误:
- 从 hmmlearn.hmm 导入
GaussianHMM 我知道我需要一些库,这就是我运行以下内容的原因
/li>
我因为这个问题而陷入困境。我没有得到任何解决方案,我尝试了谷歌和许多命令,但问题仍然存在。
python - 在hmmlearn(隐马尔可夫模型)中解码后如何将隐藏状态映射到其对应的类别?
我想使用隐马尔可夫模型(解码问题)预测隐藏状态。数据是分类的。隐藏状态包括饥饿、休息、锻炼和电影。观察集包括食物、家庭、户外和娱乐以及艺术和娱乐。我的程序是首先根据观察序列(Baum-Welch 算法)训练 HMM。然后我进行解码(维特比算法)来预测隐藏状态序列。
我的问题是我如何将结果(非负整数)映射到它们相应的类别,如饥饿或休息。由于训练算法的非确定性特性,对于相同数据的每次训练,参数都是不同的。因此,如果我像下面的代码那样做地图,隐藏状态序列每次都是不同的。
代码如下:
python - Pip 未正确安装软件包
所以我试图让 hmmlearn 在 Jupyter 中工作,我在使用pip
. 我已经尝试过这个解决方案,但没有奏效。
在我看来,pip
确实安装了 _hmmc 文件,但这样做不正确。相反,它有名字
_hmmc.cp35-win_amd64
并且文件扩展名是.PYD
, 而不是.c
当我运行代码来导入它时,我得到了这个错误:
我不知道为什么pip
只是没有正确安装它,即使我尝试使用--no-cache-dir
编辑:所以我想出了问题所在。我的活动 python 环境是 python 3.5,因为我手动将安装的文件传输到我的环境,它失败了,因为我有错误的版本。我不得不更改我的活动 python 环境:使用activate <my_enviroment name>
之后我可以pip
再次使用它来安装它,这次它可以工作了。
python - Python:通过 hmmlearn 传递多个 LARGE 序列
因此,我正在尝试为隐藏马尔可夫模型训练一个非常大的特征数组:700 x (400 x 4122),其中每个 400x4122 迷你数组是一个跨 400 个具有 4122 个特征的时间戳的观察样本序列。总共有 700 个这样的序列,当连接起来时,相当于约 45GB 的内存。我的问题是:你如何使用这种大小的数组?
在hmmlearn python 包中,通常使用多个序列,如下所示:
x1 -> 400x4122 序列
x2 -> 另一个 400x4122 序列
...
xn -> 第 700 个 400x4122 序列
X = np.concatenate(x1, x2, ..., xn)
长度 = [len(x1), len(x2),..., len(xn)]
模型 = GaussianHMM(n_component = 6, ...).fit(X, length = lengths)
换句话说,需要连接整个序列数组并输入到训练函数中。但是,我想知道是否有一种方法可以一次输入一个 400x4122 序列,因为整个串联数组太大而无法使用。
提前致谢。