По сути, я читаю документацию 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.