Как применить методы классификации машинного обучения к данным 1D временных рядов - PullRequest
0 голосов
/ 25 мая 2018

У меня есть данные IMU (акселерометр, магнитометр и гироскоп) во время различных упражнений (приседания, отжимания, приседания, отрыжки).Эти упражнения выполняются в одном сигнале временного ряда 1D, и я хотел бы использовать метод классификации машинного обучения для определения различных упражнений в сигнале.Я не хочу сгущать сигнал в пики 0D и строить свои функции таким образом, а сохранять временную область без изменений.Ниже приведен пример данных с акселерометра, который содержит четыре упражнения.Мой вопрос, поэтому, какой метод будет наиболее эффективным при этом?Кластеризация K-средних была бы идеальной в 0D смысле, есть ли 1D эквивалент?Любые ресурсы для Python (sklearn) будут с благодарностью!

Заранее спасибо!

enter image description here

Ответы [ 2 ]

0 голосов
/ 18 июля 2018

Для данных временных рядов стандартным методом является пакет фреймов, разбивая его на маленькие куски, называемые фреймами.Кадры могут быть наложены друг на друга и оконными или непересекающимисяРазмер кадра является важным гиперпараметром и зависит от задачи.Такие функции, как минимальное, максимальное, медиана, дисперсия, среднеквадратичное значение рассчитываются для каждого кадра.Чтобы использовать изменение во времени в классификаторе, используются запаздывающие или дельта-функции.Отстающие элементы - это значения из предыдущих кадров.Дельта-функции вычисляются как разница текущего кадра с предыдущим.

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

0 голосов
/ 25 мая 2018

Я думаю, что вместо классификации вы хотите сделать кластеризацию.Классификация помещает данные в предварительно определенные категории (обычно основанные на некоторых обучающих данных), тогда как кластеризация используется для группировки частей данных в ранее неизвестные классы.Вот небольшая таблица, показывающая разницу между классификацией и кластеризацией.classification vs clustering

Одна вещь, которую вы можете сделать, это разделить временные ряды на перекрывающиеся выборки (возможно, по 1000 временных шагов каждая) и рассчитать некоторую статистику для них (среднее значение, дисперсия и т. Д.).Затем выполните K-Means Clustering для вычисленной вами статистики.

После выполнения кластеризации вы можете использовать классы, определенные во время кластеризации, для создания обучающих данных для классификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...