PCA(Principal Component Analysis)는 데이터의 차원을 축소하면서도 데이터의 분산을 최대한 보존하는 기법입니다. 즉, 고차원 데이터를 저차원으로 변환하여 주요 정보만 유지하면서 계산 비용을 줄이고, 데이터의 시각화를 돕는 데 사용됩니다.
PCA는 고차원 데이터를 저차원의 공간으로 투영하면서 중요한 정보(분산이 큰 방향)를 유지합니다. 이를 위해 다음 단계를 수행합니다.
아래는 PCA를 활용한 차원 축소 예제입니다.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
from sklearn.datasets import load_iris
# 데이터 로드
data = load_iris()
X = data.data # 특성 데이터
# 데이터 정규화
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# PCA 적용 (2차원으로 축소)
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)
# 변환된 데이터 시각화
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=data.target, cmap='viridis', alpha=0.7)
plt.xlabel("Principal Component 1")
plt.ylabel("Principal Component 2")
plt.title("PCA 결과 (Iris 데이터)")
plt.colorbar(label="Target Label")
plt.show()
# 설명된 분산 비율 확인
print("Explained Variance Ratio:", pca.explained_variance_ratio_)
PCA는 데이터의 주요 특징을 유지하면서 차원을 줄이는 강력한 기법입니다. 특히, 데이터 분석과 머신러닝 모델의 성능을 최적화하는 데 유용합니다. 하지만 비선형 데이터에 대한 한계가 있으므로, 필요에 따라 Kernel PCA 등의 변형 기법을 활용할 수 있습니다.
윈도우 운영체제의 노트북에서는 iPhone 유선 테더링이 잘 안되는 경우가 많습니다. 보통 iPhone의 드라이버가 설치가 안되있어서인…
안녕하세요, 혹시 이런 생각해 본 적 없으신가요? "내가 투자한 회사는 누가 감시하고, 어떻게 운영될까?" 오늘은…
1. Gemini CLI란 무엇인가요? Gemini CLI는 터미널 환경에서 직접 Gemini 모델과 상호작용할 수 있도록 만들어진…
과적합은 머신러닝에서 학습용데이터를 과하게 학습하여, 실제데이터를 예측하지 못하는 현상을 말합니다. 인공지능(AI)의 학습 방법은 우리가 시험공부를…