Распознавание деятельности человека — это задача классификации последовательностей данных акселерометра и гироскопа, записанных специальными ремнями безопасности или смартфонами, в известные четко определенные движения.
Необработанные данные недоступны. Вместо этого была доступна предварительно обработанная версия набора данных.
Этапы предварительной обработки включали:
- Предварительная обработка акселерометра и гироскопа с помощью шумовых фильтров.
- Разделение данных на фиксированные окна по 2,56 секунды (128 точек данных) с перекрытием 50%.
- Разделение данных акселерометра на гравитационную (суммарную) и составляющую движения тела.
Скачать набор данных
Набор данных находится в свободном доступе и может быть загружен из репозитория машинного обучения UCI.
Данные предоставляются в виде одного zip-файла размером около 58 мегабайт. Прямая ссылка на эту загрузку приведена ниже:
Понимание исходного набора данных
Осматривая распакованное содержимое, вы заметите несколько вещей:
- Существуют папки «train» и «test», содержащие разделенные части данных для моделирования (например, 70%/30%).
- Существует файл «README.txt», содержащий подробное техническое описание набора данных и содержимое разархивированных файлов.
- Имеется файл features.txt, содержащий техническое описание разработанных функций.
Проверка папки «train» показывает несколько важных элементов:
- Данные гравитационного ускорения для осей x, y и z: total_acc_x, total_acc_y_, total_acc_z.
- Данные об ускорении тела для осей x, y и z: body_acc_x, body_acc_y, body_acc_z
- Данные гироскопа тела для осей x, y и z: body_gyro_x, body_gyro_y, body_gyro_z
Структура отображается в каталоге «test».
Загрузка данных и анализ данных
Описательный анализ
поскольку в данных нет пропущенных значений, мы приступаем к визуализации
Визуализация данных
На этой диаграмме показано количество действий для различных категорий действий.
поскольку данные уже нормализованы, нам не нужно выполнять нормализацию.
Построение модели и проверка точности
Я использовал 5 классификаторов:
Логистическая регрессия
Машина опорных векторов
Случайный лес
K-ближайший сосед
Деревья решений
Я создал функцию для расчета точности нескольких моделей и печати y_predict для различных моделей. Когда мы даем имя модели, оно будет соответствовать данным и точности печати для модели. Чтобы проверить отчет о классификации каждой модели, я сделал прогнозирование функции, которое даст значение y_predict, которое будет принимать аргумент имени модели.
Вывод
Модель логистической регрессии дала наивысшую точность 95,8%, за ней следует SVM 95,04, затем случайный лес 92.