Почему масштабирование с последующим преобразованием данных моего поезда вызывает «ValueError: установка элемента массива с последовательностью»? - PullRequest
0 голосов
/ 06 июня 2019

У меня есть набор данных CSV с ежечасной информацией о временных рядах.Я пытаюсь создать модель для прогнозирования, используя машинное обучение с использованием долговременной кратковременной памяти (LSTM).

Я пытаюсь масштабировать данные о поездах с использованием MinMax Scaler, а затем позже, чтобы преобразовать масштабданные с использованием масштаба ().При попытке это возвращает: « ValueError: установка элемента массива с последовательностью » и цитирует эти два шага как часть проблемы.

Любые идеи о том, как решить эту ошибку вПроблема LSTM?

РЕДАКТИРОВАТЬ: поиск в другом месте предполагает, что решение может включать неравномерную длину входов последовательности, но я все еще не ясно, как это исправить.

Вот код, указанный в ошибке(примечания 113 и 42).

from sklearn.preprocessing import MinMaxScaler

39 # scale train and test data to [-1, 1]  
40 def scale(train, test):
41    scaler = MinMaxScaler(feature_range=(-1, 1))
42    scaler = scaler.fit(train)

...

112 # transform the scale of the data
113 scaler, train_scaled, test_scaled = scale(train, test)

Я пропустил несколько промежуточных шагов, которые я не считаю решающими, но, возможно, я ошибаюсь.Ошибка выглядит следующим образом:

Using TensorFlow backend.
Traceback (most recent call last):
  File "code.py", line 113, in <module>
   scaler, train_scaled, test_scaled = scale(train, test)
  File "code.py", line 42, in scale
   scaler = scaler.fit(train)
  File "C:\...\sklearn\preprocessing\data.py", line 325, in fit
   return self.partial_fit(X, y)
  File "C:\...\sklearn\preprocessing\data.py", line 353, in partial_fit
   force_all_finite="allow-nan")
  File "C:\...\sklearn\utils\validation.py", line 496, in check_array
   array = np.asarray(array, dtype=dtype, order=order)
  File "C:\...\numpy\core\numeric.py", line 538, in asarray
   return array(a, dtype, copy=False, order=order)
ValueError: setting an array element with a sequence.

Судя по всему, почему код работает для шаблона руководства, а не мой код - руководство, из которого я работаю, состоит всего из двух столбцов (дата и число)....

"Month","Sales"
"1-01",266.0
"1-02",145.9
"1-03",183.1
"1-04",119.3

, в то время как у моего CSV есть четыре столбца (отметка времени и три числа):

timeStamp              demand   precip  temp
2012-01-01  00:00:00    4937.5  0       46.13
2012-01-01  01:00:00    4752.1  0       45.89
2012-01-01  02:00:00    4542.6  0.01    45.04
2012-01-01  03:00:00    4357.7  0       45.03

Но в конечном счете, я новичок в ML и потерян.

...