Матрица. Как правильно подать данные для обучения нейронной сети?

Есть данные для обучения нейронной сети. Для человека - это наборы из линейных графиков по 4 штуки. Т.е. в экселе эти данные можно нарисовать как матрица 100х4. Как правильно подать эти данные для обучения нейронной сети? Есть какие-то способы подачи данных в виде матрицы или можно просто объединить их в вектор 400х1 и сеть сама разберётся что к чему?
  • Вопрос задан
  • 1053 просмотра
Решения вопроса 1
FerroPanda
@FerroPanda Автор вопроса
Для keras при обучении LSTM, RNN или свёрточных сетей такие данные нужно подавать в виде тензора, т.е. делать матрицу трёхмерной или больше. Любую двухмерную матрицу M(Х, Y) можно представить как трёхмерную M(X, Y, Z), где Z=1.
Делается это с помощью reshape - изменяется размерность массива при сохранении данных.
M =np.reshape(M, (X, Y, Z)) или M =np.reshape(M, (X, Z, Y))
В моём же случае если Х количество обучающих выборок, то графики в эксельку сохраняем как матрицу М(Х, 400), а потом после загрузки данных делаем M =np.reshape(M, (X, 4, 100)).
В итоге получается Х наборов двухмерных матриц 4х100.
В принципе, для загрузки в питон, в файл можно сохранить все данные в одну строчку, а потом с помощью reshape нарезать их в нужный формат (2d, 3d, 4d и т.д.).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@savao
Python-программист
Зависит от того что у вас является объектом. Судя по вашему описанию, каждая строчка, это 4 разных параметра одного объекта. И их ну никак нельзя в один вектор пихать.
А в каком виде подавать, это очень расплывчатое понятие. Для начала определитесь с нейронной сетью. С тем, с помощью каких библиотек вы будете с ней работать, а оттуда уже форма подачи информации сама выплывет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы