Преобразование кадра данных в 3D-тензор (с несколькими функциями) - PullRequest
0 голосов
/ 23 апреля 2019

Я работаю над созданием модели, чтобы предсказать, будет ли пара форекс покупать или продавать. Я получил набор данных из 64 объектов и 5000 строк. Каждая строка содержит 1 день информации (открытие, максимум, минимум, закрытие) и некоторые индикаторы в качестве дополнительных функций.

Я знаю, что keras lstm принимает в качестве входного массива фигуры numpy (batchsize, # timestepsinonesample, # features). Я также знаю, что в качестве типа ввода должен использоваться массив numpy.

Я пытаюсь построить архитектуру «многие к одному», скажем, 5 дней должны предсказать, будет ли следующий день покупкой или продажей. Мне нужна функция, которая преобразует мой фрейм данных в трехмерный тензор, но я просто не могу понять, как создать этот тензор с несколькими функциями в день и объединить его со следующими временными шагами в 1 выборке из 5 временных шагов. Так что мои тензорные размеры должны быть (размер партии, 5,64) Я читал о каждом учебнике в Интернете и о каждом ответе здесь о переполнении стека. И я понимаю, что должно произойти, но не могу написать функцию.

Я пробовал это:

    seq_length = 5
    x = []
    y = []
    for i in range(0, len(features) - seq_length):
    given = features[i:i + seq_length]
    predict = labels[i + seq_length]
    x.append(given)
    y.append(predict)

Но это выводит список, и я не могу преобразовать его в массив numpy. Если бы кто-то мог помочь мне, как преобразовать это, я застрял бы в течение нескольких дней на этой проблеме.

...