Можете ли вы дать мне пример того, как обучить в Python HMM с настроенными вероятностями выбросов? - PullRequest
0 голосов
/ 27 апреля 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...