[데이터 분석] Dimension Reduction

Colacan·2022년 2월 8일
1

[데이터 분석]

목록 보기
2/9

Vector transformation

  • 임의의 두 벡터를 더하거나 스칼라 값을 곱하는 것, 즉 데이터를 변환한다.

  • matrix를 곱하는 것을 통해 벡터(데이터)를 다른 위치로 옮긴다.

Eigenvector

  • 어떠한 기준을 가지고 선형변환을 해야할지 결정해야한다.

  • 데이터의 형태에 따라서 변하는 정도가 다르다.

  • transformation에 영향을 받지않는 벡터를 고유벡터라 한다.

Eigenvalue

  • 고유벡터에 대해서 변화하는 크기 (스칼라 값)

  • Eigenvector와 Eigenvalue는 항상 쌍을 이루고 있다.

  • 고유값을 배우는 이유? : 데이터의 선형변환 가짓수 중에서 하나를 선택하는 기준을 만들어준다.

고차원의 문제

  • feature의 수가 많아서 생기는 문제점을 의미

  • 시각화에 대한 의미가 사라지기 때문에

  • fair plot의 형태로 해결이 가능, but, 동일한 변수조합에 대한 불필요한 plot 존재, 너무 많은 plot 형성

  • 데이터의 일부를 제한하더라도 의미파악에 차이가 없다면 feature를 더 사용하는 것은 비효율적인것이 됨

  • 정해진 기준이 있는 것은 아니지만 feature의 수를 P, sample의 수를 N이라 할 때 P>=N의 경우 overfitting 이슈가 생긴다.

Dimension Reduction

  • 빅데이터 처리를 위한 차원축소 기술

  • 차원축소 방법 : Feature Selection, Feature Extraction

  • Feature Selection : feature 중 중요한 것을 제외하고 제거
    1) 장점 : 선택된 feature 해석이 쉬움
    2) 단점 : feature들간의 연관성을 고려해야함

  • Feature Extraction : feature를 조합해서 사용 (PCA가 여기 속함)
    1) 장점 : feature들간의 연관성이 고려됨, feature 많이 줄일 수 있음
    2) 단점 : feature 해석이 어려움

PCA

  • 낮은 차원으로 차원 축소함으로써 효과적인 분석가능

  • clustering으로 이어질 수 있다.

  • 정보를 최대한으로 유지하는 방향으로 이용

  • feature중에서 분산이 큰 feature를 사용해야한다.

PCA Process

  • 데이터를 준비

  • 각 열에 대해서 평균을 빼고, 표준편차로 나누어서 Normalize

  • 분산-공분산 매트릭스 계산

  • 분산-공분산 매트릭스의 고유벡터와 고유값 계산

  • 데이터를 고유벡터에 projection 시킴 (matmul)

  • 만들어진 feature중 선택해서 사용

라이브러리를 사용한 PCA

  • sklearn에서 이용가능

  • StandardScaler(), fit_transform() : Standardized Data를 만드는 과정

  • PCA() : 축소할 차원의 개수 지정

  • components_ : Eigenvectors 확인

  • explainedvariance : Eigenvalues 확인

  • standardized data가 손으로 계산한 것과 다른이유 : 자유도(ddof)가 1이나 0이냐를 통해서 생긴 차이 (critical하진 않다)

PCA 특징

  • 데이터에 대해 독립적인 축을 찾을 수 있다.

  • 분포가 정규성을 띄지 않는 경우 적용이 어렵다. (이 경우 커널 PCA 이용)

  • 분류/예측 문제에서는 데이터 라벨 고려하지 않으므로 효과적 분리 어려움 (이 경우 PLS 이용)

오늘의 참고자료

profile
For DE, DA / There is no royal road to learning

0개의 댓글