본문 바로가기
스터디 정리

주성분 분석(PCA)

by 고공이 2023. 2. 14.

매일 다양한 데이터들이 수집되고 저장되어가고 있습니다. 하지만 너무 많은 데이터들이 수집되면 이를 담고 있는 저장 공간이 부족할 겁니다. 나중에 군집이나 분류에 영향을 끼치지 않으면서 어떻게 하면 데이터 용량을 줄일 수 있을까요?

 

지금까지 데이터가 가진 속성을 특성이라고 했습니다.

 

10,000개의 픽셀을 가진 이미지의 경우 10,000개의 특성이 있는 셈이죠. 머신러닝에서는 이런 특성을 차원이라고 부릅니다. 그렇다면 10,000차원을 가지고 있는데 이를 줄일 수 있다면 저장 공간을 크게 절약할 수 있을 것입니다.

 

이를 위해 비지도 학습 작업 중 하나인 차원 축소 알고리즘을 다루어 볼려고 합니다.

 

그중 대표적인 알고리즘인 주성분 분석을 정리해보도록 하겠습니다.

 

 

 

주성분 분석(PCA)

: PCA라고도 불리며, 데이터에서 가장 분산이 큰 방향을 찾는 방법입니다. 이런 방향을 주성분이라고 하는데 원본 데이터를 주성분에 투영하여 새로운 특성을 만들 수 있습니다. 

 

주성분 벡터의 원소 개수는 원본 데이터셋에 있는 특성 개수와 같습니다.

 

하지만 원본 데이터는 주성분을 사용해 차원을 줄일 수 있습니다. 주성분이 가장 분산이 큰 방향이기 때문에 주성분에 투영하여 바꾼 데이터는 원본이 가지고 있는 특성을 가장 잘 나타낼 겁니다.

 

주성분이 원본 데이터의 분산을 얼마나 잘 나타내는지 기록한 값을 설명된 분산이라고 합니다.

 

PCA 클래스는 자동으로 설명된 분산을 계산하여 제공해줍니다. 또한 주성분의 개수를 명시적으로 지정하는 대신 설명된 분산의 비율을 설정하여 원하는 비율만큼 주성분을 찾을 수 있습니다.

PCA 클래스의 explained_variance_ratio_에 각 주성분이 설명된 분산 비율이 기록되어 있습니다.

 

직접 실습 예제를 통해 더 자세히 알아보도록 하겠습니다. 

 

댓글