- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前正在使用 Scikit Learn,在尝试训练高斯 HMM 时遇到了以下问题:
File "/Library/Python/2.7/site-packages/sklearn/hmm.py", line 443, in fit
self._do_mstep(stats, self.params)
File "/Library/Python/2.7/site-packages/sklearn/hmm.py", line 798, in _do_mstep
super(GaussianHMM, self)._do_mstep(stats, params)
File "/Library/Python/2.7/site-packages/sklearn/hmm.py", line 580, in _do_mstep
np.maximum(self.startprob_prior - 1.0 + stats['start'], 1e-20))
File "/Library/Python/2.7/site-packages/sklearn/hmm.py", line 476, in _set_startprob
raise ValueError('startprob must sum to 1.0')
ValueError: startprob must sum to 1.0
如果我删除了一些特征(每次观察少于 13 个特征),它仍然有效。我检查了所有输入是否有效,并且每个训练示例仅包含 numpy.float64s 的二维数组。关于出了什么问题的任何想法?谢谢!
最佳答案
我通过将 params 属性设置为训练集中所有唯一值的集合来解决这个问题。
param=set(train.ravel())
model=hmm.GaussianHMM(n_components=6, covariance_type="full", n_iter=100,params=param)
train 是我用来拟合模型的 numpy 数组列表。
初始参数设置为全ascii字符的字符串。
关于python - Scikit 学习高斯 HMM : ValueError: startprob must sum to 1. 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18796658/
我目前正在使用 Scikit Learn,在尝试训练高斯 HMM 时遇到了以下问题: File "/Library/Python/2.7/site-packages/sklearn/hmm.py",
我是一名优秀的程序员,十分优秀!