В рамках регулярной задачи по улучшению своих навыков в области науки о данных и машинного обучения я использую генератор случайных ссылок на наборы данных для создания модели машинного обучения и размещаю руководство здесь и на мой GitHub. .

Итак, на этот раз набор данных, выбранный приведенным выше кодом, — это Набор данных физических действий EMG.

Небольшое описание набора данных:

Этот набор данных состоит из сигналов ЭМГ, записанных от 8 мышц; бицепсы и трицепсы рук, подколенные сухожилия и мышцы бедер обеих ног.

Четыре разных человека выполняли комбинацию из 10 агрессивных действий и 10 обычных действий. В зависимости от типа каждого из этих действий сигнал регистрирует изменение разности потенциалов на мышцах.

Глядя на набор данных, я интуитивно догадываюсь, что это проблема классификации, где задача состоит в том, чтобы проанализировать 8 входных переменных и предсказать, является ли выполняемая деятельность агрессивной или нормальной.

Исследовательский анализ данных:

Построив плотность распределения входных переменных для двух типов действий, можно определить, какая мышца (и конечность) использовалась для выполнения действия, и разницу между обоими действиями.

import matplotlib.pyplot as plt
import pandas as pd 
dataset = pd.read_csv('Frontkicking.csv')
dataset.drop(columns = [‘Aggressive’], axis = 1, inplace = True)
plt.figure(figsize=(8,8))
dataset.plot(kind = ’density’, subplots = True, 
layout = (4,2), sharex = False, grid = True, legend = True,
title = ‘Frontkicking’, cmap = ‘brg’)
plt.tight_layout()
plt.savefig(‘frontkicking.png’)
plt.show()

d1 = pd.read_csv(‘Seating.csv’)
d1.drop(columns = [‘Aggressive’], axis = 1, inplace = True)
plt.figure(figsize=(8,8))
d1.plot(kind = ’density’, subplots = True, layout = (4,2), 
sharex = False, grid = True, legend = ‘reverse’, 
title = ‘Normal Activity : Seating’, cmap = ‘gnuplot’)
plt.tight_layout()
plt.savefig(‘seating.png’)
plt.show()

А ниже весь код

  1. Стандартизация данных
  2. Обучение модели классификации Random Forest на обучающих данных
  3. Прогнозирование метки активности в тестовом наборе и
  4. Наконец, оцениваем производительность модели с перекрестной проверкой K-Fold.

Модель достигла точности 93%, что действительно очень хороший результат. Теперь давайте реализуем перекрестную проверку, чтобы проверить эффективность нашей модели.

Оценка модели с перекрестной проверкой приводит к следующим показателям:

Как видно из вышеизложенного, точность перекрестной проверки 93% и стандартное отклонение 0,0024 являются хорошим показателем того, что наша модель не была переобучена и способна в достаточной степени учитывать корреляции между независимыми функциями и целевой переменной.

Ну это все. Надеюсь, эта реализация показалась вам интересной. Учитывая, что этот набор данных был сырым, я потратил время не только на его очистку, но и сам составил постановку задачи и реализовал решение.

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

Пожалуйста, посмотрите мой репозиторий GitHub, чтобы увидеть больше моих работ.

Спасибо, что прочитали эту статью, и до новых встреч.