基本上,我正在阅读文档https://hmmlearn.readthedocs.io/en/latest/api.html#hmmlearn.base._BaseHMM,并尝试使用_BaseHMM类。但是对Python来说,我遇到了很多麻烦。更一般地说,我正在尝试验证HMM可以从顺序数据中学习并为我们提供更准确的预测。朝着这个方向,我正在考虑算法将6个图像的类别确定为3个类别的情况,并且我认为样本是有序的或有序的。假设我为此HMM定义了参数。我希望看到的是这个HMM的输出和准确性自定义排放概率。参见下面的代码,我确定我犯了一个基本错误,但示例代码将是太棒了!
import numpy as np
from hmmlearn import hmm
#confusion matrix
from sklearn.metrics import confusion_matrix
y_true = ["cat", "ant", "cat", "cat", "ant", "bird"]
y_pred = ["ant", "ant", "cat", "cat", "ant", "cat"]
C_old= confusion_matrix(y_true, y_pred, labels=["cat", "ant", "bird"])
model = hmm.GaussianHMM(n_components=3, covariance_type="full")
model.startprob_ = np.array([0.333, 0.333, 0.333])
model.transmat_ = np.array([[0.5, 0.5, 0],
[0.5, 0, 0.5],
[0, 1, 0]])
X=y_true
from hmmlearn import _BaseHMM
hmm._base._BaseHMM._init(X,len(X))
我得到了:
ImportError: cannot import name _BaseHMM
请注意,我定义排放概率。现在,由于我的排放概率是定制的,我似乎要使用class _BaseHMM
。这就是我被困住的地方,我真的很感激使用这个类的示例代码以及使用HMM后的最终混淆矩阵。我使用的是Python 2.7。