브라이틱스(Brightics)에서 주성분 분석(PCA, Principal component analysis)을 하는 방법을 알아본다.
Machine Learning
※ 본 내용은 Load
함수 블럭에서 diamonds.csv 파일을 불러온 후에 진행한다.
※ diamonds.csv 다운받기 [클릭]
개요
대표적인 차원축소 방법으로 언급되는 주성분 분석(PCA, Principal Component Analysis)은 차원축소라는 말 그대로 여러 변수를 한데 묶어 주성분으로 변환하는 방법이다. 특히 연속형 변수간 상관계수가 높아서 다중공선성 문제가 발생할 여지가 높거나 의미론적으로 비슷한 변수를 한데 묶고자 할 때 많이 사용한다.
이론
향후 보충 예정
설정
PCA
블럭의 설정 창은 다음과 같다.
-Input Columns
: 주성분 분석 대상 변수 지정
-Number of Components
: 주성분 생성 개수. 입력하는 변수의 개수 이하의 자연수 입력
-SVD Solver
: 특이값 분해(Singular Value Decomposition)를 위한 해법 지정
-Tolerance
: SVD Solver
를 ARPACK으로 지정했을 때 지정하는 특이값(singular values)의 허용치
-Number of Iterations
: SVD Solver
를 Randomized로 지정했을 때 지정하는 반복 계산 횟수
-Seed
: 결과를 고정하기 위해 지정하는 자연수
-New Column Name
: 생성되는 주성분의 접두사(prefix)
-Group By
: 특정 변수를 기준으로 연산을 별도로 실시
PCA Model
블럭의 설정 창은 다음과 같다.
-New Column Name
: 생성되는 주성분의 접두사(prefix)
결과
다음은 다이아몬드 제원이 적혀있는 x, y, z 변수를 사용하여 3개의 주성분을 만들어본 결과이다. PCA
블럭은 주성분을 기존 데이터 세트에 붙여주는 것과 추가로 세부사항을 별도의 model 탭에 각 주성분의 세부 사항을 출력해준다.