PC A.pt
Resumo
- O PCA encontra direções ortogonais de máxima variância e projeta os dados nas componentes principais.
- As razões de variância explicada fornecem uma forma quantitativa de escolher o número de componentes.
- O escalonamento de características afeta fortemente o PCA, portanto a padronização é frequentemente obrigatória.
Intuição #
O PCA gira o sistema de coordenadas em direção às direções que capturam a maior variação. Manter apenas os eixos mais fortes comprime os dados enquanto retém a estrutura dominante.
Explicação Detalhada #
1. Por que PCA? #
- Dados de alta dimensão são difíceis de interpretar e visualizar; o PCA encontra direções ortogonais que resumem a maior parte da variância.
- O método é não supervisionado: não usa rótulos, apenas a estrutura de covariância dos dados.
- Uma vez projetados nas componentes principais, podemos visualizar, remover ruído ou alimentar as características comprimidas a modelos subsequentes.
2. Matemática #
Dada a matriz de dados centrada em zero (X \in \mathbb{R}^{n \times d}):
- Matriz de covariância $$ \Sigma = \frac{1}{n} X^\top X $$
- Decomposição em autovalores $$ \Sigma v_j = \lambda_j v_j $$ onde (v_j) são autovetores (eixos principais) e (\lambda_j) autovalores (variância explicada).
- Projeção $$ Z = X V_k $$ usando os (k) autovetores principais.
3. Criar um conjunto de dados de exemplo #
| |
4. Executar PCA com scikit-learn #
| |
5. O escalonamento importa #
| |
O PCA é dominado por características com grande variância; o escalonamento (ou branqueamento) é essencial quando as unidades das características diferem.
6. Considerações práticas #
- Razão de variância explicada: (\lambda_j / \sum_i \lambda_i) ajuda a decidir quantas componentes principais manter (geralmente 80-90%).
- Computação: o PCA é implementado via SVD internamente; use
svd_solver='randomized'para grandes conjuntos de dados. - Kernel PCA: quando o PCA linear não é suficiente, mude para kernels (veja a seção dedicada) ou tente UMAP/t-SNE para estrutura local.