PCA(Principal Component Analysis)
군집화가 근접도를 기반으로 샘플들을 여러 그룹으로 재구성했다면, PCA는 여러 변수간의 관계를 기반으로 새로운 변수들로 재구성한다.
PCA는 어떤 변수 집합의 관계를 나타낸 그래프를 보고 임의의 축을 추가해 더 단순한 관계로 표현할 수가 있다면 그 축을 변수로하는 새로운 변수 집합으로 대체하는것이다. 이는 서로간의 종속성을 지닌 변수 집합을 서로 독립인 변수집합으로 분해하는 작업이다. 따라서 궁극적으로 변수 벡터의 차원이 줄어들게 된다.
PCA로 기대할 수 있는 효과
- Feature간의 상관관계 제거
- Feature vector의 차원 감소
- Anomaly Detection : Anomaly 및 outlier는 PCA로 낮은 분산을 가진 변수에서 확실해지는 경향이 있는데, PCA는 변수들의 중복제거하여 분산을 낮춘다.
PCA의 구현
1. 표준화 : 변수들의 크기를 표준화하여, PCA가 특정 변수를 무시하지 못하게 한다. 크기가 상대적으로 작을수록 변수와의 관계가 노이즈로 무시될 가능성이 크다.
2. PCA 수행.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sklearn.decomposition import PCA | |
X = (X - X.mean(axis=0)) / X.std(axis=0) | |
pca = PCA() | |
X_pca = pca.fit_transform(X) | |
#X_pca는 2차원 ndarray다.row=index,column=principle component | |
#pca.component_로 row=principle component col=feature인 2차원 배열을 얻을 수 있다. |
댓글
댓글 쓰기