Принципиальный компонентный анализ – это важный процесс снижения размерности в машинном обучении. Этот метод включает в себя простую матричную работу со статистическими данными и линейной алгеброй. Причина использования этого метода заключается в вычислении, анализе исходных данных и создании проекции в меньшем измерении. Вы также можете использовать эту методику для поиска проекции одного и того же числа. Эта статья поможет вам разобраться в концепции основного компонентного анализа, а также в том, как проводить анализ на R и Python.

Основной компонентный анализ

PCA или Принципиальный компонентный анализ помогает уменьшить размерность массивных точек данных до более простых форм. Это свойство PCA превращает его в метод уменьшения размерности. Он работает путем преобразования переменных в меньшие за счет исключения большой информации из большого набора.
При уменьшении количества переменных массива данных снижается точность данных. Чтобы упростить набор данных, необходимо принять риск низкой точности.
Маленькие наборы данных помогут вам легко визуализировать и исследовать состояние. Таким образом, алгоритм машинного обучения будет быстро и легко анализировать данные, сохраняя их актуальность. Простыми словами, PCA уменьшит количество переменных и сохранит важную информацию для легкого анализа данных.

Пример анализа основных компонентов

– Пример анализа основных компонентов в 2D-формате

Понять концепцию анализа основных компонентов можно в двух измерениях. Этими размерами являются высота и вес. Набор данных будет построен на плоскости в виде точек. Но когда мы будем отмалчивать вариации, PCA определит новую систему координат. В этой системе каждая точка будет содержать значение x и y. Физического значения осей нет. Эти оси являются основными компонентами и сочетанием высоты и веса. Таким образом, даже отдельные оси будут иметь много вариаций.

– Принцип анализа компонентов Пример в 3D

Принципиальный компонентный анализ становится более полезным, имея три измерения. Таким образом, можно анализировать данные под разными углами. Например, вы можете просматривать данные в 2D после их отображения в 3D плоскости. Поворачивая угол камеры, вы можете визуализировать данные с лучшей точки зрения. Это гарантирует трансформация PCA:
– Существует больше вариантов горизонтальной оси или РС1.
– Существуют вторые по величине вариации на вертикальной оси или РС2,
– Существует наименьшее количество вариаций в третьей оси или РС3.
Таким образом, можно легко отказаться от третьей оси. Данные по этой оси не так важны, как по горизонтальной оси и по вертикальной оси в плоскости.

Анализ основных компонентов в R

Вычислить анализ основных компонентов в R можно с помощью функций princomp() и prcomp(). Эти функции позволяют легко и просто проводить анализ. Обе эти функции различаются по методам вычисления СПС.

– Функция Prcomp() для вычисления СПС

Вы можете выбрать этот метод для анализа основных компонентов в R для получения точного числа. Метод рассчитывает PCA, используя сингулярное разложение матрицы данных. Он не будет включать в себя собственные данные на ковариационной матрице.

– Функция Princomp() для расчета СПС

В этом методе используется собственная матрица ковариаций или матрица корреляции. В этом методе используется совместимость по результату S-PLUS.
– pilots.pca<-prcomp(pilots[,2:7]]).
– пилоты.пка
– ## Стандартные отклонения (1, …, p=6):
– • ## [1] 41.497499 29.637102 20.035932 16.157875 11.353640 7.097781
– • ##
– ## Вращение (n x k) = (6 x 6):
– ## PC1 PC2 PC3 PC4
– ## Интеллект 0.21165160 -0.38949336 0.88819049 -0.03082062
– ## Форма. Отношения -0.03883125 -0.06379320 0.09571590 0.19128493
– Динамометр 0.08012946 0.06602004 0.08145863 0.12854488
– ## Точка 0.77552673 0.60795970 0.08071120 -0.08125631
– ## Сенсор. Мотор. Координация -0.09593926 -0.01046493 0.01494473 -0.96813856
– ## Консервация 0.58019734 -0.68566916 -0.43426141 -0.04518327
– ## PC5 PC6
– ## Интеллект -0.04760343 -0.10677164
– ## Форма. Отношения -0.14793191 0.96269790
– Динамометр 0.97505667 0.12379748
– ## Точка -0.10891968 0.06295166
– Сенсорный. Мотор. Координация 0.10919120 0.20309559
– 0.03644629 0.03572141
Вы также можете сгенерировать результаты пропорции дисперсии с помощью метода сводки prcomp(), который объясняет компоненты.
– summary(pilots.pca)
– ## Важность компонентов:
– ## PC1 PC2 PC3 PC3 PC4 PC5 PC5 PC6
– ## Стандартное отклонение 41.4975 29.6371 20.0359 16.15788 11.35364 7.09778
– ## Доля Варианта 0.5003 0.2552 0.1166 0.07585 0.03745 0.01464
– ## Кумулятивная доля 0,5003 0,7554 0,8721 0,94792 0,98536 1,00000

Анализ основных компонентов на питоне

Вы можете использовать библиотеку scikit-learn для вычисления анализа основных компонентов набора данных. Этот подход выгоден, потому что вы можете применять новые данные повторно, чтобы легко найти проекцию после вычисления проекции. В качестве параметра при создании класса вы указываете номер компонента.
Класс будет первым подходящим для набора данных. Вы будете использовать функцию fit(), actual или другой набор данных и выбирать размерность, чтобы найти функцию transform(). Вы можете получить доступ к основным компонентам и собственным значениям при анализе основных компонентов с помощью компонент_атрибутов и explain_variance. В примере, приведенном ниже, вы сначала создаете экземпляр с помощью класса. Затем данные помещаются в матрицу 3×2. Это даст вам доступ к векторам и значениям проекции. Наконец, вы можете преобразовать фактические данные.
– из массива импорта numpy
– среднее арифметическое импорта
– из нумизматической импортной бухты
– от numpy.linalg import eig
– # определить матрицу
– A = array([[4, 5], [6, 7], [8, 9]]))
– оттиск (A)
– # вычислите среднее значение каждого столбца
– M = среднее(A.T, ось=1)
– печать(М)
– # центральные столбцы путем вычитания колонн означает
– C = A – M
– печать(С)
– # вычисли ковариационную матрицу центрированной матрицы
– V = cov(C.T)
– печать(V)
– # ковариационная матрица эгендекомпозиция
– значения, векторы = eig(V)
– распечатка(векторы)
– вывод на печать(значения)
– # данные проекта
– P = vector.T.dot(C.T.)
– вывод на печать(P.T)
Выполнив выборку данных на матрице 3×2, мы найдем основные компоненты и их значения. После этого найдем проекции фактической матрицы. Используя этот метод, мы определим минорную плавающую точку и получим те же принципиальные компоненты, проекции и сингулярные значения.
– • [[4 5]
– • [6 7]
– • [8 9]][6. 7.]
– • [[-2. -2.]
– • [ 0. 0.]
– • [ 2. 2.]]
– • [[4. 4.]
– • [4. 4.]]
– • [[ 0.70710678 -0.70710678]
– • [ 0.70710678 0.70710678]]
– • [8. 0.]
– • [[-2.82842712 0. ]
– • [ 0. 0. ]
– • [ 2.82842712 0. ]]

Заключение

Вы можете использовать любой язык программирования, такой как Python, R, C++ и т.д., для жесткого кодирования всего процесса и поиска приложений основного компонентного анализа. Кроме того, вы также можете использовать библиотеки различных авторов и запускать данные. Если сложность проблемы не очень велика, то вместо библиотек следует использовать метод жесткого кодирования. Таким образом, вы сможете легко анализировать внутреннюю часть, чтобы понять проблемы. Когда вы используете анализ основных компонентов в R, вы можете использовать такие библиотеки, как prcomp, princomp, HSAUR и другие. Это поможет вам использовать приложение напрямую.