Метки граната HMM: Значение истинности массива с более чем одним элементом неоднозначно.

Я использую библиотеку Pomegranate для реализации HMM. Я следую тому, что говорят документы для использования from_samples функция, которая говорит, что один из параметров labels должно быть:

An array of state labels for each sequence. This is only used in ‘labeled’ training. If used this must be comprised of n lists where n is the number of sequences to train on, and each of those lists must have one label per observation. Default is None.

Мой код:

model = HiddenMarkovModel('Gestures').from_samples(
        NormalDistribution, 3, training, labels=[0, 1, 2], algorithm='labeled')

Я получаю ошибку:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

что не имеет смысла, так как я ввожу массив, но я думаю, что он думает, что я должен вводить логическое значение?

1 ответ

Я думаю, что вы, возможно, неправильно поняли документацию. labels должен быть список меток длины вашего training набор (не из числа состояний, как кажется сейчас). Затем, если ваш тренировочный набор содержит N последовательности, список передается как labels должен быть длиной N.

Вы не уточняете, каков ваш тренировочный набор, но несоответствие в длине двух переменных может вызвать такую ​​ошибку (хотя я не эксперт в Python).

Другие вопросы по тегам