주성분 분석 (PCA, principal component analysis)란 차원축소와 변수추출 기법을 통해 전체 dataset(=독립변수)의 분산을 가장 잘 설명하는 성분을 말한다. 즉, 데이터 자원을 줄이고 중요한 정보를 추출하기 위해 사용되는 통계 기법이다. PCA는 다차원 dataset를 가장 중요한 변수(주성분)로 변환하여 데이터의 변동성을 최대한 보존하면서 아래 그림과 같이 차원을 축소한다. 분류(classification) 모델의 대표적인 dataset인 Iris 데이터와 Python 코드를 활용한 주성분 분석은 다음과 같다. 1 2 3 4 5 6 7 import pandas as pd import numpy as np # Fisher,R. A.. (1988). Iris. UCI Machine Learning Repository. https://doi.org/10.24432/C56C76. url = "https://raw.githubusercontent.com/uiuc-cse/data-fa14/gh-pages/data/iris.csv" # name = ['sepal length', 'sepal width', 'petal length', 'petal width', 'target'] df = pd.read_csv(url) print (df) 주성분 분석을 하기 전에 데이터 스케일링을 하는 이유는 데이터의 스케일에 따라 주성분의 설명 가능한 분산량이 달라질 수 있기 때문에 표준화를 진행한다. 여기서 표준화란 각 변수에 평균을 빼주고 표준편차로 나눠준다. 사이킷런의 preprocessing 서브 패키지를 이용하면 아래와 같다. 데이터 스케일링을 위한...