Q . Eigenvector란?
A . Transformation에 영향을 받지 않는 회전축, (혹은 벡터)을 공간. 크기만 변하고 방향은 변화 하지 않는 벡터
Q . Eigenvalue란?
A . Eigenvector의 크기를 변화시키는 값인 스칼라값( 고유값 )을 eigenvalue라고 한다.
- 표기 :
Feature Selection이란, 데이터셋에서 덜 중요한 feature를 제거 하는 방법
Feature Extraction, 기존에 있는 Feature 혹은 그들을 바탕으로 조합된 Feature를 사용한다. PCA도 feature extraction의 예시이다.
Q . Selection 과 Extraction의 차이는?
A .
- Selection
- 장점 : 선택된 feature 해석이 쉽다.
- 단점 : feature들간의 연관성을 고려해야된다.
- Ex.
LASSO
,Genetic algorithm
- Extraction
- 장점 : Feature들간의 연광성 고려된다. Feature수 많이 줄일 수 있다.
- 단점 : Feature 해석이 어려움
- Ex.
PCA
,Auto-encoder
Q . PCA란?
A . 낮은 차원으로 축소하여 고차원 데이터를 효과적으로 분석 하기 위한 기법이다.
- 고유값과 고유벡터로 새로운 축을 만들어서 그축을 기준으로 압축해서 설명력이 가능 높은게 pc1 각각의 직교들이 설명력이 높은 순서대로 pc2이다.
1. 데이터 준비
2. 각 열에 대해서 평균을 빼고, 표준편차로 나누어서 Normalize
3. Z의 분산-공분산 매트릭스를 계산
4. 분산-공분산 매트릭스의 고유벡터와 고유값을 계산
5. 데이터를 고유 벡터에 projection 시킴( matmul 함수 )
from sklearn.preprocessing import StandardScaler, Normalizer
from sklearn.decomposition import PCA
# 데이터 X에 대해
# 표준화
scaler = StandardScaler()
Z = scaler.fit_transform(X)
# pca 2 적용
pca = PCA(2)
# pca 적용
pca.fit(Z)
# Eigenvectors
pca.components_
# Eigenvalues
pca.explained_variance_
# Projection
B = pca.transform(Z) # 혹은 Z = np.matmul(standardized_data, vectors)