ПРОГРАММИРОВАНИЕ R: АНАЛИЗ ОСНОВНЫХ КОМПОНЕНТОВ
Анализ основных компонентов — это неконтролируемый искусственный интеллект, который представляет собой анализ сокращения и линейных комбинаций всех существующих атрибутов в наборе данных. этот метод уменьшает размерность наборов данных и повышает интерпретируемость, в то же время сводя к минимуму потерю информации. в PCA, который представляет собой EDA (анализ разведочных данных), позволяет отлично визуализировать вариации, присутствующие в наборе данных со многими переменными.
PCA имеет так много терминов и атрибутов, но мы не будем говорить обо всех в этой статье, потому что нас интересует только прикладная часть этого обучения и то, как интерпретировать наши результаты.
ГЛАВНЫЙ КОМПОНЕНТ: это новые ортогональные переменные, построенные как линейные комбинации или смесь исходных переменных, приоритет которых уменьшается по мере увеличения числа.
первый компонент имеет максимальную вариацию в наборе данных, а второй главный компонент фиксирует оставшуюся вариацию в наборе данных, которая не коррелирует с первой компонентой. Все последующие главные компоненты следуют этой концепции обладания вариациями, не коррелируя друг с другом.
ND: количество основных компонентов всегда меньше или равно количеству атрибутов в наборе данных.
ПОНИМАНИЕ НАБОРА ДАННЫХ
Набор данных heart.xlsx датируется 1988 годом и состоит из четырех баз данных: Кливленд, Венгрия, Швейцария и Лонг-Бич V. Он содержит 76 атрибутов, включая предсказанные атрибуты, но все опубликованные эксперименты относятся к использованию подмножества из 14 из них. . поле «цель» относится к наличию болезни сердца у пациента. это дихотомия: 0 = отсутствие болезни и 1 = болезнь.
Информация об атрибутах контента:
возраст, пол, тип боли в груди (4 значения), артериальное давление в покое, уровень холестерина в сыворотке в мг/дл, уровень сахара в крови натощак> 120 мг/дл, результаты электрокардиографии в покое (значения 0,1,2), максимальная достигнутая частота сердечных сокращений, индуцированная физической нагрузкой стенокардия, старый пик = депрессия ST, вызванная физической нагрузкой, по сравнению с состоянием покоя, наклон пиковой нагрузки, сегмент ST, количество крупных сосудов (0–3), окрашенных при рентгеноскопии, th: 0 = нормальный, 1 = фиксированный дефект, 2 = реверсивный дефект. вы можете нажать на эту ссылку, чтобы просмотреть набор данных https://file.fm/f/nn5s4afh4
ЗАГРУЗКА НАБОРА ДАННЫХ В R
Очистка набора данных
Обобщение набора данных
Это показывает описательную статистику изучаемых переменных, как мы можем видеть в таблице выше, минимальный возраст составляет 29 лет, максимальный возраст составляет 77 лет, среднее значение trestbps составляет 131,6, среднее значение chol составляет 246, среднее значение thalach составляет 246 лет. 149,1, у oldpeak среднее значение 1,072.
Запуск матричной корреляции со значимыми уровнями
Матрица корреляции показывает коэффициенты корреляции между переменными. Используя эмпирическое правило, которое гласит, что для сильной корреляции переменной с другой коэффициент должен быть больше или равен + или - 0,3, и мы должны проверить, является ли этот коэффициент статистически значимым. В приведенной выше таблице возраст имеет статистически значимую связь со всеми переменными, но, согласно эмпирическому правилу, он сильно отрицательно коррелирует с талахом с коэффициентом -0,39, что является статистически значимым на 95% значимом уровне. Также существует статистически значимая положительная корреляция между trestbps и возрастом (0,27), chol и возрастом имеют 0,22 значимую положительную корреляцию, oldpeak и target имеют -0,44 значимую отрицательную корреляцию. Наконец, талах и цель имеют значимую корреляцию 0,42.
Выполнение анализа основных компонентов
В выходной таблице PCA у нас есть две информации:
- Важность компонента:
СТАНДАРТНОЕ ОТКЛОНЕНИЕ: показывает отклонение главных компонентов.
PROPORT OF VARIANCE: показывает процентные доли вклада в вариацию (изменчивость) в наборе данных. Comp.1 вносит около 36% изменчивости в исходный набор данных, Comp.2 вносит около 19% изменчивости в исходный набор данных, Comp. 3 вносят около 15% в изменчивость исходного набора данных, Comp.4 вносят около 14% в изменчивость в исходном наборе данных, Comp. 5 вносят около 9% изменчивости в набор данных. Наконец, Comp.6 вносит около 8% изменчивости исходного набора данных.
КУМУЛЯТИВНАЯ ПРОПОРЦИЯ: показывает совокупный процент изменчивости, объясняемый каждым основным компонентом. Комп. 1 составляют около 36% общей изменчивости в исходном наборе данных. Comp.2 составляет около 55% общей изменчивости в исходном наборе данных, эти 55% являются суммой доли дисперсии Comp.1 и доли дисперсии Comp.2 (36% + 19% = 55%). ); Комп. 3 составляют 70% от общей изменчивости в наборе данных, эти 70% являются добавлением Comp.1, Comp.2 и Comp.3 (36% + 19% + 15% = 70%). Comp.4 (83%), Comp.5 (92%) и Comp.6 (1%) следуют этому потоку, чтобы учесть их общую изменчивость в наборе данных.
2. Нагрузки: это веса или собственные векторы каждой переменной, которые представляют собой корреляцию между каждой исходной переменной и каждым компонентом. Эти нагрузки с ПК образуют уравнения PCA
PC1 = b11X1 + b21X2 + … + bn1Xn
PCn = bn1X1 + bn2X2 + … + bnnXn
где b11, b21, … , bnn — нагрузки, а X1, X2, … , Xn — переменные
Из нашей таблицы загрузки у нас есть следующие уравнения PCA
Комп.1 = 0,44возраст + 0,28трестбпс + 0,19хол - 0,48талах + 0,47старпик - 0,49цель
Комп.2 = 0,31возраст + 0,53трестбпс + 0,63хол + 0,33талах — 0,24старпик + 0,27цель
Комп. 3 =0,16возраст — 0,73трестбпс + 0,58хол — 0,25талах — 0,23старпик
Комп. 4 = 0,60 возраст — 0,44 хол — 0,36 талах — 0,43 старый пик +0,34 цель
Comp.5 = 0,19возраст — 0,20trestbps + 0,70oldpeak + 0,66target
Сост.6 = 0,53возраст — 0,29трестбпс — 0,20хол + 0,68талах — 0,36цель
Нанесение основных компонентов на график
Нанесение главного компонента на линейный график
На графике выше эффект локтя возникает на комп. 2, которые указывают, что только Comp.1 и Comp. 2 извлекаемые.
Визуализация извлекаемых основных компонентов на побочной диаграмме
Визуализация извлекаемых основных компонентов в дереве решений
ЗАКЛЮЧЕНИЕ
На практике PCA обычно решается с использованием разложения по собственным значениям, поскольку это эффективно с точки зрения вычислений. Хотя многие пакеты Python включают встроенные функции для выполнения PCA, давайте воспользуемся тем, что мы только что узнали, для реализации PCA: PCA может помочь нам повысить производительность при очень низких затратах на точность модели. Другие преимущества PCA включают уменьшение шума в данных, выбор признаков (в определенной степени) и возможность создавать независимые, некоррелированные признаки данных.