[머신러닝] PCA

cybergangster·2022년 7월 1일
0

Machine Learning

목록 보기
4/5
post-thumbnail

PCA :

  • 단순히 주성분 분석이라기보다는 주성분이 될 수 있는 형태로 내가 가지고 있는 기존 데이터에 어떤 변환을 가하는 것, 내가 가지고 있는 데이터에 어떤 기준에 의해서 어떤 변환이 생기게 되고 그 변환으로 인해 주성분이 추출됨
  • , 원래 변수가 가지고 있는 의미, 즉 열의 의미가 중요한 경우에는 PCA를 사용하면 안됨(PCA는 데이터에 변환을 가하는 것이기 때문!)
  • PCA의 본질은 탐색적 분석, 즉 변인을 탐색해서 변환을 통해 주성분을 결정하는 방법
  • 전체 데이터(독립변수들)의 분산을 가장 잘 설명하는 축의 개수를 선정해서 그 축에 따라 변형된 데이터를 배열하면 그 데이터가 주성분이 됨, 주성분은 원래의 데이터와 다름
  • 변수가 너무 많아 이들 중 중요하다고 판단되는 변수들 몇개만 뽑아 모델링을 하려고 할 때 주로 PCA 사용, 이때 중요함의 기준은 전체 데이터(독립변수들, 모든 차원)의 분산을 얼마나 잘 설명하냐에 있음
  • 결론적으로 PCA의 본질은 차원 축소, 차원이 축소됐다는 것은 원본 데이터가 아니라 변환(projection)된 데이터(==주성분)를 이용해 분석 혹은 모델링을 진행하겠다는 것

(+) PCA를 하기 전에 데이터 스케일링을 하는 이유는 데이터의 스케일에 따라 주성분의 설명 가능한 분산량이 달라질 수 있기 때문, 스케일링을 하기 전 후 설명 가능한 분산량이 다름, 따라서 스케일링을 하지 않으면 변인이 가진 값의 크기에 따라 설명 가능한 분산량이 왜곡될 수 있기 때문에 반드시 표준화를 해주어야 함(+설명 가능한 분산량이 왜곡됨에 따라 아래와 같이 모델 성능이 저하될 수도 있음)


0개의 댓글