Я хочу построить модель LSTM Autoencoder для поведения клиентов и обнаружения аномалий. Набор данных активности выглядит следующим образом:
customer_id features
C1 [[1,2,1,0,1],[2,2,1,1,0],[1,2,3,1,1],[0,3,2,1,1]]
C2 [[2,1,1,4,1],[3,2,1,1,4],[2,2,3,1,2]]
..............................................
Cn [[2,3,1,4,1],[2,1,1,1,0],[4,2,2,1,2],[3,3,2,1,1], [2,3,2,1,2], [1,3,2,2,1]]
Здесь количество объектов для всех образцов одинаково, т. Е. 5. Однако, нет. Образцы разные для разных Заказчиков. Есть N клиентов.
В таком случае, как разделить данные обучения и тестирования и как изменить входные данные для модели LSTM?
На данный момент
- Я рассматриваю, например, 80% выборок из данных каждого клиента в качестве обучения и оставаясь в качестве тестирования.
- Попытка изменить входные данные как : (no_of_customers, временные шаги, no_of_features) = (n, #no_of_samples, 5). Этот массив не поддерживается, так как мы не можем иметь массив numpy с различными временными шагами.