Dimension Reduction
핵심 키워드
- Vector Transformation
- High dimension Data와, 이로 인한 이슈
- Feature Extraction / Selection
- PCA
고유벡터 (Eigenvector) , 고유값 (Eigenvalue)
- Transformation은 matrix를 곱하는 것을 통해, 벡터(데이터)를 다른 위치로 옮긴다라는 의미를 가지고 있음
이러한 Transformation에 영향을 받지 않는 벡터를 고유벡터 라고함.
- 주어진 transformation에 대해서 크기만 변하고 방향은 변화 하지 않는 벡터
- 여기서 변화하는 크기는 결국 스칼라 값으로 변화 할 수 밖에 없는데, 이 특정 스칼라 값을 고유값 (eigenvalue)
Selection 과 Extraction의 차이
- Selection 의 경우
- 장점 : 선택된 feature 해석이 쉽다.
- 단점 : feature들간의 연관성을 고려해야함.
- 예시 : LASSO, Genetic algorithm 등
- Extraction의 경우
- 장점 : feature 들간의 연관성 고려됨. feature수 많이 줄일 수 있음
- 단점 : feature 해석이 어려움.
- 예시 : PCA, Auto-encoder 등
PCA
- 고차원 데이터를 효과적으로 분석하기 위한 기법
- 낮은 차원으로 차원 축소
- 고차원 데이터의 정보(분산)를 최대한 유지하는 벡터를 찾고, 해당 벡터에 대해 데이터를 (Linear)Projection
from sklearn.preprocessing import StandardScaler, Normalizer
from sklearn.decomposition import PCA
1) Normalize(표준화)
scaler = StandardScaler()
Z = scaler.fit_transform(X)
2) 고유벡터, 고유값 계산
# value, vectors = np.linalg.eig()
pca = PCA(2) # 주성분을 몇개로 할지
pca.fit(X)
print("Eigenvectors:", pca.components_)
print("Eigenvalues:",pca.explained_variance_)
3) 데이터를 고유 벡터에 projection
B = pca.fit_transform(X)
'[CodesSates] AI 부트캠프' 카테고리의 다른 글
Simple Regression (0) | 2021.04.05 |
---|---|
Clustering (0) | 2021.03.24 |
Linear Algebra + (0) | 2021.03.21 |
Vector / Matrix (0) | 2021.03.21 |
Bayesian (0) | 2021.03.19 |