повысить производительность за счет удаления l oop при создании данных обучения и тестирования для больших наборов данных, финансов и машинного обучения LSTM - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь создать данные обучения и тестирования для финансовой модели машинного обучения. Будет использоваться LSTM, и мы хотим создать большие входные массивы. Это делает обычный l oop слишком неэффективным при создании массивов ... Итерировать несколько миллионов строк медленно, и каждая итерация также становится слишком медленной, когда количество минимизированных массивов становится больше ...

Вход LSTM представляет собой 2D-массив, что означает, что я не могу поместить минимизированные данные в pandas фрейм данных и использовать, например, окно, которое, как я считаю, могло бы быть хорошим вариантом, верно? Вот еще несколько вариантов, которые я надеялся использовать, но не смог, потому что pandas не любит 2D-массивы ... https://towardsdatascience.com/how-to-make-your-pandas-loop-71-803-times-faster-805030df4f06

Я рассмотрел альтернативы, например : https://gist.github.com/codehacken/708f19ae746784cef6e68b037af65788#file -sliding_window-py Но этого, похоже, недостаточно, потому что numpy и 2D-массивы?

Итак, у меня есть набор данных с ~ 10 функциями, которые сведены к минимуму в массивы с помощью формы Sklearn MinMaxScaler.

Затем мне нужно поместить каждый минимизированный массив в новый массив, содержащий серию массивы, которые будут переданы в LSTM ... Допустим, мы хотим поместить 100 минимизированных массивов в серию / массив.

Каков оптимальный подход к этому? Можно ли это сделать с помощью pandas windows? Или мне что-то не хватает по поводу массивов numpy? Возможна ли векторизация? Допустим, мы хотим объединить 100 минимизированных массивов в новый входной массив:

array = minimizedData[positioon:position+100]

Я знаю, что позиция не будет работать, но можно ли подойти к ней таким образом, чтобы удалить l oop? Действительно ли необходим al oop? Или есть альтернатива, которая повысит производительность?

Мне кажется, в этой статье много полезной информации ... но как ее можно применить здесь? https://towardsdatascience.com/how-to-make-your-pandas-loop-71-803-times-faster-805030df4f06

Спасибо

...