您好我有一个数据帧测试,我正在尝试使用带有hmmlearn的高斯HMM进行预测。
当我这样做时:
uint8_t array[8];
//...Fill it up...
uint32_t *ptr = NULL;
ptr = (uint32_t*)&array[0];
*ptr = 12345;
ptr = (uint32_t*)&array[4];
*ptr = 54321;
我得到了嗯工作正常生产和状态数组
但是,如果我这样做:
y = model.predict(test)
y
我得到的是y被设置为1。
有人可以帮忙吗?
更新
这里的代码可以通过
进行迭代训练集为0-249:
for i in range(0,len(test)):
y = model.predict(test[:i])
答案 0 :(得分:1)
HMM模拟观察序列。如果您将单个观察结果输入predict
(默认情况下为Viterbi decoding),则基本上将预测减少到argmax
(model.startprob_ * model.predict_proba(test[i:i + 1])).argmax()
可以由startprob_
支配,例如如果startprob = [10**-8, 1 - 10**-8]
。这可以解释您所看到的所有行为。