Традиционные диагностические подходы могут страдать от субъективности, поскольку они основаны на оценке движений, которые иногда незаметны для человеческого глаза и поэтому их трудно классифицировать, что приводит к возможной неправильной классификации. Болезнь Паркинсона может поражать голосовые органы пациента так же, как конечности и руки, поэтому, наблюдая за голосовыми связками, мы можем определить, есть ли у человека болезнь Паркинсона или нет.
Данные:
Источник данных: https://archive.ics.uci.edu/ml/machine-learning-databases/parkinsons/
Набор данных включает ряд биомедицинских измерений голоса 31 человека, 23 из которых страдают болезнью Паркинсона. Каждый столбец в таблице представляет собой конкретный показатель голоса, а каждая строка соответствует одной из 195 записей голоса этих людей (столбец «имя»). Основная цель данных — отличить здоровых людей от больных БП в соответствии со столбцом «статус», в котором установлено значение 0 для здоровых и 1 для БП.
Информация об атрибутах:
Записи столбца матрицы (атрибуты):
имя — имя субъекта в формате ASCII и номер записи.
MDVP:Fo(Hz) — средняя основная частота голоса.
MDVP:Fhi(Hz) — максимальная основная частота вокала.
MDVP:Flo(Hz) — минимальная основная частота вокала.
MDVP:Jitter(%) , MDVP:Jitter(Abs) , MDVP:RAP , MDVP:PPQ , Джиттер:DDP — несколько показателей изменения основной частоты.
MDVP:Shimmer , MDVP:Shimmer(dB) , Shimmer:APQ3 , Shimmer:APQ5 , MDVP:APQ , Shimmer:DDA — несколько показателей вариации амплитуды
NHR , HNR — две меры отношения шума к тональным компонентам в голосе.
status — Состояние здоровья субъекта (единица) — болезнь Паркинсона, (ноль) — здоров
RPDE , D2 — два показателя нелинейной динамической сложности.
DFA — Экспонента масштабирования фрактала сигнала
spread1 , spread2 , PPE — три нелинейных показателя изменения основной частоты
Загрузка данных:
EDA в наборе данных:
Данные не состоят из na и нулевых значений.
Распределение классов:
Количество точек данных с заболеванием: 147
Количество точек данных без заболеваний: 48
Одномерный анализ базовой частоты mdvp F0
Рис. 2. Распределение базовой частоты mdvp (F0) для здоровых и больных пациентов.
Блочные диаграммы для некоторых функций:
Из однофакторного анализа, проведенного для всех функций, видно, что для mdvp_jitter_perc, mdvp_rap, mdvp_ppq, mdvp_shimmer, mdvp_shimmer_db, shimmer_apq3, shimmer_apq5, 'mdvp_apq'', 'shimmer_dda','nhr', атрибуты пациентов с болезнью Паркинсона имеют больше выбросов, чем здоровые пациенты.
«Hnr» имеет выбросы в нижнем квартильном диапазоне для людей с заболеванием, а для здоровых пациентов он находится выше и ниже квартильных диапазонов.
Атрибут «d2» имеет выбросы выше диапазона верхнего квартиля, тогда как для здоровых пациентов выбросы присутствуют ниже диапазона нижнего квартиля.
Отсутствуют выбросы в атрибуте dfa для разных атрибутов «статуса».
Атрибут «распространение 1» с болезнью Паркинсона имеет выбросы, присутствующие в диапазоне выше верхнего квартиля, тогда как для здоровых пациентов выбросы отсутствуют.
Атрибут «spread2» для здоровых пациентов имеет выбросы.
У пациентов с атрибутом «СИЗ» с болезнью Паркинсона больше выбросов, чем у здоровых пациентов.
Парные участки:
По парным графикам было замечено, что:
mdvp_jitter_in_percent (MDVP:Jitter(%)) имеют высокую корреляцию с mdvp_jitter_abs (MDVP:Jitter(Abs)), mdvp_rap (MDVP:RAP), mdvp_ppq (MDVP:PPQ), jitter_ddp (Jitter:DDP) и nhr (NHR).
mdvp_jitter_abs (MDVP:Jitter(Abs) имеют высокую корреляцию с mdvp_rap (MDVP:RAP), mdvp_ppq (MDVP:PPQ), jitter_ddp (Jitter:DDP).
Подготовка набора данных для обучения:
Разделите поезд и тестовые данные в соотношении 67:33.
Удаление имени атрибута из наборов данных поезда и теста.
Из данных корреляции видно, что функция mdvp_jitter сильно коррелирует с mdvp_jitter_abs, mdvp_rap, mdvp_ppq, jitter_ddq, нч. Таким образом, мы можем отказаться от функции mdvp_jitter.
Точно так же функция mdvp_Shimmer имеет высокую корреляцию с mdvp_shimmer_db, shimmer_apq3, shimmer_apq5. Таким образом, мы можем отбросить mdvp_Shimmer.
Масштабирование числовых признаков с использованием Standard Scaler:
Обучение с использованием моделей классификации:
Давайте проверим производительность логистической регрессии, машины опорных векторов и XGBoost в этом наборе данных.
Логистическая регрессия:
Матрица путаницы:
Результаты с использованием модели логистической регрессии:
Модель машины опорных векторов:
Матрица путаницы:
XGBoost:
Мы видим, что из приведенного выше анализа модели машин XGBoost и Support Vector имеют точность более 90%.
Использованная литература:
Профиль Linkedin: https://www.linkedin.com/in/monica-saraswathi-dantuluri-b94214b1/
Спасибо за прочтение!