hmmlearn解码隐藏状态更改

2024-04-18 23:05:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用这个Python库来建立隐马尔可夫模型。https://github.com/hmmlearn/hmmlearn

    //use whole sequence for HMM training
    rescaled_model = GaussianHMM(n_components= 3, covariance_type="full", n_iter=2000).fit(rescaled_A)
    rescaled_hidden_states = rescaled_model.predict(rescaled_A)

//use partial sequence for HMM training
    train_len = int(len(rescaled_A) * 0.999)
    model_test = GaussianHMM(n_components= 3, covariance_type="full", n_iter=2000).fit(rescaled_A**[:train_len]**)
    hidden_states_test = model_test.predict(rescaled_A)

    print('rescaled_hidden_states: ', collections.Counter(rescaled_hidden_states))
    print('hidden_states_test: ', collections.Counter(hidden_states_test))

如我们所见,解码后的隐藏状态改变了训练/测试数据分割的b/c。第一个案例有2305个隐藏状态1,而第二个案例有2305个隐藏状态0。这就改变了标签,使其无法正确预测下一个隐藏状态并解释其含义。在

^{pr2}$

Tags: testformodellenuse状态trainingcomponents