1. 차원 축소란?
차원 축소는 고차원의 데이터를 저차원으로 변환하여, 데이터의 핵심 정보를 유지하면서 불필요한 노이즈나 중복을 제거하는 과정이다.
- 고차원 데이터 → 시각화 어려움, 연산량 증가, 과적합 가능성 ↑
- 차원 축소를 통해 속도 개선, 시각화 용이성, 모델 일반화 능력 향상 가능
2. 차원 축소 방법 분류
구분 | 설명 | 예시 |
변수 선택 (Feature Selection) | 기존 변수 중 중요한 것만 선택 | 상관관계 기반 선택, 정보 이득 |
변수 추출 (Feature Extraction) | 기존 변수들을 조합하여 새로운 축을 생성 | PCA, t-SNE, MDS 등 |
3. 주성분 분석 (PCA : Principal Component Analysis)
- 개념
- 고차원 데이터를 분산이 가장 큰 축을 따라 회전시켜 저차원으로 투영
- 데이터의 분산을 최대한 보존하는 축(주성분)을 찾는 선형 변환
- 특징
항목 | 설명 |
종류 | 선형 기법 |
목적 | 분산 보존 + 차원 축소 |
결과 | 새 축(주성분) 생성, 원래 축과 직교 |
활용 | 시각화, 전처리, 노이즈 제거 |
- Python 예제
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
reduced = pca.fit_transform(X)
print("설명된 분산 비율:", pca.explained_variance_ratio_)
4. t-SNE (t-distributed Stochastic Neighbor Embedding)
- 개념
- 비선형 차원 축소 기법으로 고차원 데이터를 2~3차원으로 시각화
- 유사한 샘플은 가까이, 다른 샘플은 멀게 배치하여 군집 구조를 잘 표현
- 특징
항목 | 설명 |
종류 | 비선형, 확률 기반 |
목적 | 시각화 중심 |
단점 | 해석 어려움, 속도 느림, 고정 결과 아님 |
활용 | 군집 구조 시각화, 데이터 분포 파악 |
- Python 예제
from sklearn.manifold import TSNE
tsne = TSNE(n_components=2, perplexity=30, learning_rate=200)
reduced = tsne.fit_transform(X)
5. MDS (다차원 척도법, Multidimensional Scaling)
- 개념
- 거리 행렬을 기반으로 고차원 데이터를 저차원에 임베딩
- 객체 간의 유사성(distance)을 보존하면서 시각화
- 특징
항목 | 설명 |
종류 | 비선형 또는 선형 |
입력 | 거리 또는 유사도 행렬 |
목적 | 시각화, 군집 간 구조 파악 |
활용 | 사회 네트워크, 고객 유사도 분석 등 |
- Python 예제
from sklearn.manifold import MDS
mds = MDS(n_components=2, dissimilarity='euclidean')
reduced = mds.fit_transform(X)
6. 변수 선택 vs 변수 추출
구분 | 변수 선택 (Feature Selection) | 변수 추출 (Feature Extraction) |
의미 | 원래 변수 중 일부만 선택 | 기존 변수를 조합/변환하여 새 변수 생성 |
해석성 | 높음 (원래 변수 유지) | 낮음 (새로운 축) |
기법 | 분산 선택, 정보 이득, Lasso | PCA, t-SNE, MDS |
활용 | 변수 영향 해석, 모델 단순화 | 시각화, 압축, 노이즈 제거 |
7. 결론
- PCA : 선형 차원 축소, 데이터 구조 유지, 해석 용이
- t-SNE / MDS : 비선형 구조 시각화, 분포 파악에 탁월
- 변수 선택은 해석 중심, 변수 추출은 압축 및 시각화 중심
목적(해석 vs 시각화 vs 성능)에 따라 적절한 차원 축소 기법을 선택하자.
'Theory > IE' 카테고리의 다른 글
[Data Mining_6] 다중 선형 회귀 (0) | 2025.04.14 |
---|---|
[Data Mining_5] 예측 성능 평가 (0) | 2025.04.07 |
[Data Mining_3] 데이터 전처리와 시각화 (0) | 2025.04.07 |
[Data Mining_2] 데이터마이닝 프로세스 개요 (0) | 2025.04.07 |
[Data Mining_1] 데이터 기반 의사결정의 시작 (0) | 2025.04.07 |