Scikit-learn高斯HMM错误

时间:2013-12-23 23:28:01

标签: python scikit-learn

我目前正在使用Scikit Learn,并且在尝试训练高斯HMM时遇到了以下问题。

  File "C:\Python27\lib\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

当运行这样的功能时:

model = GaussianHMM(n_components=5, covariance_type="diag", n_iter=1000,
                            means_prior=means_prior, means_weight=0.5)

大约1/10次没有错误,但是9/10次,抛出错误。减少组件数量可以增加工作的可能性而不会出错。

我还尝试将startprob强制转换为startprob=[0.20, 0.20, 0.20, 0.20, 0.20]而没有增加运气。

我还使用了print model.startprob_来确保startprob为[0.20, 0.20, 0.20, 0.20, 0.20]

任何想法是什么问题?

先谢谢。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我认为这取决于输入序列的数量。如果我有太少的序列来构建模型,我会得到这个错误,因为这个模型不够令人信服。您获取的组件越多,您需要的数据就越合适。但这只是我的假设。