Как я могу построить Скрытую Марковскую Модель для тестирования вверх и вниз, если использовать 30 данных для обучения, а 30 - для теста
Я пытаюсь построить модель с помощью сторонних библиотек, но у меня ничего не выводит. Подскажите пожалуйста, в чем проблема? Или может быть есть другой способ разрешения проблемы?
import numpy as np
from hmmlearn import hmm
data = np.genfromtxt('spupdown.txt', skip_header=1, delimiter=',', dtype=str)
x = np.array([[1, 0] if i == '1' else [0, 1] for i in data[:, 1]])
model = hmm.GaussianHMM(n_components=2, n_iter=30, verbose=True)
model.fit(x, [len(x)])
test = ['1', '1', '1', '1', '1', '1', '2', '1', '1', '1', '1', '1', '2', '1', '1', '1', '1', '1',
'2', '1', '2', '1', '1', '2', '2', '2', '1', '2', '2', '1']
x_test = np.array([[1, 0] if i == '1' else [0, 1] for i in test])
y_test = ['Down', 'Down', 'Up', 'Down', 'Up', 'Up', 'Up', 'Down', 'Up', 'Down', 'Up', 'Down',
'Up', 'Up', 'Down', 'Up', 'Up', 'Up', 'Up', 'Down', 'Down', 'Up', 'Down', 'Down', 'Up', 'Down',
'Up', 'Up', 'Down', 'Down']
y_pred = model.predict(x_test)
mp = {1: 'Up', 2: 'Down'}
print('\n\n\n')
print('Expected:')
print(y_test)
print('Predicted:')
print([mp[i] for i in y_pred])