Функция подгонки hmmlearn не работает: fit() принимает 2 позиционных аргумента, но 3 были заданы

Я пытаюсь запустить скрытую марковскую модель, однако функция подбора не работает должным образом.

Код:

import numpy as np
from hmmlearn import hmm

X1 = [[0.5], [1.0], [-1.0], [0.42], [0.24]]
X2 = [[2.4], [4.2], [0.5], [-0.24]]

X = np.concatenate([X1, X2])
lengths = [len(X1), len(X2)]

hmm.GaussianHMM(n_components=3).fit(X, lengths) 

Я получаю это сообщение об ошибке:

TypeError                                 Traceback (most recent call last)
<ipython-input-16-cdfada1be202> in <module>()
      8 lengths = [len(X1), len(X2)]
      9 
---> 10 hmm.GaussianHMM(n_components=3).fit(X, lengths)

TypeError: fit() takes 2 positional arguments but 3 were given

2 ответа

Эта ошибка может быть воспроизведена для hmmlearn 0.1.1,

Однако, если вы делаете pip install hmmlearn==0.2.0 в вашей виртуальной среде и следить за hmm.GaussianHMM(n_components=3).fit(X, lengths=lengths),

Вещи должны работать просто отлично!

Пожалуйста, проверьте версию hmmlearn у вас есть и обновите это. lengths Параметр доступен в более новых версиях, как показано здесь

http://hmmlearn.readthedocs.io/en/latest/api.html

Затем попробуйте сделать (как предложил @Harpal):

hmm.GaussianHMM(n_components=3).fit(X, lengths=lengths)
Другие вопросы по тегам