반응형

차원축소 3

[Sklearn] 파이썬 사이킷런 PCA 구현 및 시각화 예제

Python PCA(주성분 분석) 차원 축소 실습 코드 안녕하세요. 이번 시간에는 파이썬의 사이킷런 라이브러리를 활용하여 대표적인 차원 축소 기법인 주성분 분석(PCA)을 구현해보고 설명력 결과 해석 및 시각화를 해보는 실습까지 진행해보도록 하겠습니다. 데이터셋 불러오기, 정규화 이번에 PCA 차원 축소를 진행해볼 데이터 셋은 사이킷런에서 제공하는 iris 데이터셋입니다. 또한, PCA 과정 수행을 위해서는 각 feature의 평균과 편차를 일정하게 맞추는 정규화 과정이 필수적으로 수행되어야 하므로, StandardScaler를 미리 적용하도록 하겠습니다. 데이터셋 로드 및 정규화 과정은 아래 코드를 참고해주시면 됩니다. from sklearn.datasets import load_iris from sk..

Python/Sklearn 2022.02.12

[Sklearn] 파이썬 t-SNE 차원 축소 시각화 예제

Python tsne 이용 2차원, 3차원 시각화 안녕하세요. 이번 글에서는 파이썬 사이킷런 라이브러리를 이용하여 t-SNE로 2차원 혹은 3차원으로 데이터 차원을 축소한 상태의 시각화를 진행하는 방법에 대해서 살펴보겠습니다. t-SNE 시각화 사용 이유, 장점 데이터의 분포를 살펴보는 과정에서 처음에 각 class의 분포를 시각화를 통하여 개략적으로 살피는 것이 도움이 많이 됩니다. 그러나, feature가 4종류 이상인 경우, 4차원 이상의 데이터는 직접 시각화가 어렵습니다. 따라서, 보통 시각화가 편리한 2차원이나 3차원으로 차원 축소를 진행 후, 실제 feature가 아닌 축소된 주성분을 기준으로 분포를 간접적으로 시각화하게 됩니다. 이 과정에서, 차원 축소 방법으로는 PCA, t-SNE 등 방법..

Python/Sklearn 2022.02.10

[Numpy] 파이썬 SVD 차원 축소 예제 : np.linalg.svd() 또는 LA.svd()

파이썬 넘파이 특이값 분해(SVD) 차원 축소 : LA.svd() 이번 글에서는 파이썬 넘파이에서 특이값 분해(SVD)를 이용하여 \(U, \Sigma, V\)의 3가지 행렬로 분리된 결과를 가져와보고, 이를 이용하여 차원 축소를 진행하는 예시까지 간단하게 살펴보도록 하겠습니다. 우선, 오늘 예제에서 사용할 간단한 2 * 3 행렬을 선언해 보겠습니다. import numpy as np A = np.array([[-1, 1, 0], [0, -1, 1]]) 파이썬 full SVD vs truncated SVD 예제 오늘 설명할 파이썬의 np.linalg.svd (혹은 import numpy.linalg as LA 선언 시 LA.svd) 함수는 full SVD와 truncated SVD의 두 가지 형태를 모두..

Python/Numpy 2022.01.20
반응형