Как я могу построить Скрытую Марковскую Модель для тестирования вверх и вниз, если использовать 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])

Ответы (0 шт):