참조: https://gaussian37.github.io/ml-concept-t_sne/
t-SNE 개념과 사용법
gaussian37's blog
gaussian37.github.io
t-SNE
t-Stochastic Neighbor Embedding, t-분포 확률적 임베딩
Dimensionality Reduction - 비선형 차원 축소
고차원 데이터를 2,3차원으로 줄여 가시화하는데 유용하게 사용된다
매니폴드 학습의 하나로 복잡한 데이터의 시각화가 목적
t-SNE 알고리즘은 고차원 공간에서의 점들의 유사성과 그에 해당하는 저차원 공간에서의 점들의 유사성을 계산 (단순히 데이터 사이의 거리를 이용하는 것이 아니라 확률 분포를 이용)
차원 축소
1. Feature Elimination
2. Feature Selection - information loss 발생 가능, 데이터마다 feature 중요도에 다른 rank
3. Feature Extraction - 새로운 독립적인 feature 만드는 방법 (linear/nonlinear 방법)
- Linear : PCA
- Nonlinear : t-SNE
from sklearn.manifold import TSNE
from sklearn.datasets import load_digits
# MNIST 데이터 불러오기
data = load_digits()
# 2차원으로 차원 축소
n_components = 2
# t-sne 모델 생성
model = TSNE(n_components=n_components)
# 학습한 결과 2차원 공간 값 출력
print(model.fit_transform(data.data))
# [
# [67.38322, -1.9517338],
# [-11.936052, -8.906425],
# ...
# [-10.278599, 8.832907],
# [25.714725, 11.745557],
# ]
'멋쟁이 사자처럼 AI SCHOOL 5기 > Today I Learned' 카테고리의 다른 글
[7주차 총정리] Transfer Learning(전이학습) 개념 정리 (0) | 2022.04.26 |
---|---|
[6주차 총정리] Kakao API 활용하여 스크래핑하기 (항상 스크래핑 전 API 있는지 먼저 확인) (0) | 2022.04.26 |
[6주차 총정리] Word2Vec 개념 정리 (0) | 2022.04.26 |
[6주차 총정리] pd.Series 특정 문자 포함 여부 확인/ 개수 Count (pd.Series.str.contains()/ str.count()) (0) | 2022.04.26 |
[6주차 총정리] Matplotlib 트리맵으로 계층적 데이터 시각화 (Squarify) (0) | 2022.04.26 |