我目前正在与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个特征),它仍然有效。我已经检查了所有的输入是否有效,并且只包含数字浮动64S对于每个培训示例。有什么问题吗? 谢谢!在
我也有同样的问题。我可以通过调整模型的隐藏状态数来解决这个问题。根据现有数据和状态数,该模型似乎无法正确拟合
我在使用GaussianHMM的时候也遇到了同样的问题。我发现问题是因为我给分类器输入整数值,而它需要浮点值。当我意识到多项式hmm只接受连续值时,我尝试使用浮点数,而且它起作用了!在
通过将params属性设置为训练集中所有唯一值的集合,我解决了这个问题。在
train是我用来匹配模型的numpy数组的列表。在
初始参数设置为所有ascii字符的字符串。在
相关问题 更多 >
编程相关推荐