0

嗨,我有一个数据框测试,我正在尝试使用带有 hmmlearn 的高斯 HMM 进行预测。

当我这样做时:

y = model.predict(test) 
y

我得到了嗯工作正常的生产和状态数组

但是,如果我这样做:

for i in range(0,len(test)):
    y = model.predict(test[:i])

我得到的只是 y 被设置为 1。

任何人都可以帮忙吗?

更新

这是可以迭代的代码

训练集为 0-249:

for i in range(251,len(X)):
    test = X[:i]
    y = model.predict(test)
    print(y[len(y)-1])
4

1 回答 1

1

HMM 对观察序列进行建模。如果您将单个观察结果输入predict(默认情况下进行维特比解码),您实际上会将预测减少到argmax过度

(model.startprob_ * model.predict_proba(test[i:i + 1])).argmax()

可以由 支配startprob_,例如 if startprob = [10**-8, 1 - 10**-8]。这可以解释您所看到的全都行为。

于 2016-09-09T06:57:37.257 回答