A Análise de Componentes de Princípio é um processo essencial de redução da dimensionalidade na aprendizagem de máquinas. Esta técnica inclui uma simples operação matricial a partir de estatísticas e álgebra linear. A razão para utilizar este método é calcular, analisar os dados originais e gerar uma projecção na menor dimensão. Também se pode utilizar esta técnica para encontrar a projecção do mesmo número. Este artigo irá ajudá-lo a compreender o conceito de Análise de Componentes Principais e como executar a análise em R e Python.

Análise de Componentes Principais

A PCA ou Análise da Componente Principal ajuda a diminuir a dimensionalidade dos pontos de dados maciços em formas mais simples. Esta propriedade da PCA torna-a um método de redução da dimensão. Funciona transformando variáveis em mais pequenas, eliminando informação importante do grande conjunto.
Ao reduzir as variáveis do conjunto de dados, reduz-se a precisão dos dados. Para simplificar o conjunto de dados, é necessário aceitar o risco de baixa exactidão.
Conjuntos de dados mais pequenos irão ajudá-lo a visualizar e explorar facilmente a condição. Desta forma, o algoritmo de aprendizagem da máquina irá analisar os dados rápida e facilmente, mantendo a relevância dos dados. Em palavras fáceis, o PCA irá reduzir as variáveis e preservar a informação importante para analisar facilmente os dados.

Exemplo de Análise de Componentes Principais

Exemplo de Análise de Componentes Principio em 2D

É possível compreender o conceito de análise de componentes principais em duas dimensões. Estas dimensões são altura e peso. Traçará o conjunto de dados no plano como pontos. Mas quando estamos a provocar as variações, o PCA identificará um novo sistema de coordenadas. Neste sistema, cada ponto conterá um valor x e um y. Não há nenhum significado físico dos eixos. Estes eixos são os componentes principais e a combinação de altura e peso. Desta forma, mesmo os eixos individuais terão muitas variações.

Princípio de Análise de Componentes Exemplo em 3D

A Análise de Componentes Princípio torna-se mais útil ao ter três dimensões. Desta forma, é possível analisar os dados a partir de diferentes ângulos. Por exemplo, pode ver os dados em 2D depois de os traçar no plano 3D. Ao rodar o ângulo da câmara, pode visualizar os dados a partir do melhor ponto de vista. A transformação da PCA garante isso:

  • Existem mais variações no eixo horizontal ou PC1.
  • Há a segunda maior parte das variações no eixo vertical ou PC2,
  • Existem as menores variações no terceiro eixo ou PC3.
    Desta forma, pode facilmente abandonar o terceiro eixo. Os dados neste eixo não são tão importantes como o eixo horizontal e o eixo vertical no plano.

Análise dos componentes principais em R

Pode calcular a análise dos componentes principais em R usando as funções princomp() e prcomp(). Estas funções permitem uma análise fácil e directa. Estas duas funções diferenciam-se nos métodos de cálculo do PCA.

Prcomp() Função para calcular a PCA

Pode escolher este método para a análise dos componentes principais em R para obter uma numeração exacta. O método calcula a PCA utilizando a decomposição do valor singular da matriz de dados. Não inclui o eigen na matriz de covariância.

Princomp() Função para calcular a PCA

Este método utiliza o eigen na matriz de covariância ou correlação. Este método é compatível através do resultado S-PLUS.

  • pilots.pca<-prcomp(pilots[,2:7])
  • pilots.pca
  • ## Desvios padrão (1, …, p=6):
  • • ## [1] 41.497499 29.637102 20.035932 16.157875 11.353640 7.097781
  • • ##
  • ## Rotação (n x k) = (6 x 6):
  • ## PC1 PC2 PC3 PC4
  • ## Inteligência 0,21165160 -0,38949336 0,88819049 -0,03082062
  • Form.Relations -0,03883125 -0,06379320 0,09571590 0,19128493
  • Dinamómetro 0,08012946 0,06602004 0,08145863 0,12854488
  • ## Ponto 0,77552673 0,60795970 0,08071120 -0,08125631
  • Sensory.Motor.Coordination -0.09593926 -0.01046493 0.01494473 -0.96813856
  • ## Perservação 0,58019734 -0,68566916 -0,43426141 -0,04518327
  • ## PC5 PC6
  • ## Inteligência -0.04760343 -0.10677164
  • Form.Relations -0.14793191 0.96269790
  • Dinamómetro 0,97505667 0,12379748
  • Pontuação -0,10891968 0,06295166
  • ## Sensory.Motor.Coordination 0.10919120 0.20309559
  • ## Perservação 0,03644629 0,03572141
    Também é possível gerar resultados da proporção da variância com a ajuda do método prcomp() sumário que os componentes explicam.
  • resumo(pilots.pca)
  • ## Importância dos componentes:
  • ## PC1 PC2 PC3 PC4 PC5 PC6
  • ## Desvio padrão 41,4975 29,6371 20,0359 16,15788 11,35364 7,09778
  • ## Proporção de variação 0,5003 0,2552 0,1166 0,07585 0,03745 0,01464
  • ## Proporção acumulada 0,5003 0,7554 0,8721 0,94792 0,98536 1,00000

Análise de componentes principais em Python

Pode usar a biblioteca scikit-learn para calcular a Análise da Componente Principal do conjunto de dados. Esta abordagem é benéfica porque pode aplicar novos dados repetidamente para encontrar facilmente a projecção depois de calcular a projecção. Especificará o número dos componentes como parâmetro ao criar a classe.
A classe será o primeiro ajuste do conjunto de dados. Irá utilizar a função fit(), real, ou outro conjunto de dados e escolher a dimensão para encontrar a função transform(). Pode aceder aos componentes principais e aos valores próprios na análise dos componentes principais com components_attributes e explicado_variance. No exemplo abaixo, cria-se a instância em primeiro lugar utilizando a classe. Em seguida, encaixa os dados numa matriz 3×2. Isto dar-lhe-á acesso aos vectores e valores da projecção. Finalmente, é possível transformar os dados reais.

  • a partir de uma matriz de importação numérica
  • da média de importação entorpecida
  • de importação cov numpy
  • de numpy.linalg import eig
  • # definir uma matriz
  • A = matriz([[4, 5], [6, 7], [8, 9]])
  • imprimir(A)
  • calcular a média de cada coluna
  • M = média(A.T, eixo=1)
  • imprimir(M)
  • # colunas centrais por subtracção de colunas significa
  • C = A – M
  • imprimir(C)
  • calcular matriz de covariância de matriz centrada
  • V = cov(C.T)
  • imprimir(V)
  • # eigendecomposição da matriz de covariância
  • valores, vectores = eig(V)
  • impressão(vectores)
  • imprimir(valores)
  • # dados do projecto
  • P = vectores.T.dot(C.T)
  • print(P.T)
    Ao executar dados de amostra na matriz 3×2, encontraremos os principais componentes e os seus valores. Depois disso, encontraremos as projecções da matriz real. Utilizando este método, identificaremos o ponto flutuante menor e alcançaremos os mesmos componentes principais, projecções, e valores singulares.
  • • [[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. ]]

Conclusão

Pode utilizar qualquer linguagem de programação como Python, R, C++, etc., para codificar todo o processo e encontrar aplicações de Análise de Componentes Principais. Além disso, também pode utilizar as bibliotecas de diferentes contribuidores e executar os dados. Se a complexidade do problema não for muito elevada, deverá utilizar uma técnica de código rígido em vez de bibliotecas. Desta forma, pode analisar o back-end para compreender facilmente os problemas. Quando se utiliza a análise de componentes principais em R, pode-se utilizar bibliotecas como prcomp, princomp, HSAUR, e outras. Isto ajuda-o a utilizar directamente a aplicação.