Судя по вашему комментарию, похоже, что вы решили это.В случае, если это поможет кому-то еще, немного подробнее:
В первом примере, если мы напечатаем размеры s
, мы получим (2, 8)
:
>>> s = np.array([[0, 1, 0, 0, 0, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 1]])
>>> s.shape
(2,8)
Во втором примере, если мы делаем то же самое, мы получаем (8,)
:
>>> s = np.array([0, 1, 0, 0, 0, 0, 0, 0])
>>> s.shape
(8,)
Проблема связана со вторым примером, и ошибка inverse_transform
throws полезна, показывая, что она ожидает, что yt.shape[1]
будет доступен,Во втором примере это измерение недоступно, поэтому возникает ошибка.
Это можно исправить двумя способами:
- Просто добавьте квадратные скобки:
s = np.array([0, 1, 0, 0, 0, 0, 0, 0])
становится s = np.array(
[[0, 1, 0, 0, 0, 0, 0, 0]
] )
- Изменение формы:
s = np.reshape(s, (1, s.shape[0]))
В любом случае, выходs.shape
после будет (1, 8)
и m.inverse_transform(s)
будет работать как положено.