t-SNE
t-SNE는 가까운 거리에 있는 데이터를 차원을 축소해서도 가깝게 만드는 차원축소 방법으로
원본의 유사도 맵을 만들고 축소된 데이터의 유사도맵과 원본의 유사도를 비교하여
원본과 최대한 비슷한 유사도를 가진 데이터로 만드는 방법으로
비선형 축소방식이다
차원은 2~3차원으로 축소해야하며 시각화에 주로 사용한다
사용하기
import
from sklearn.manifold import TSNE
코드로 임포트를 하고 사용 할 수 있다
이후
tsne = TSNE(n_components = 2, random_state=20)
x_tsne = tsne.fit_transform(x)
# DataFrame으로 변환
x_tsne = pd.DataFrame(x_tsne, columns = ['T1','T2'])
tsne 변수에 모델을 지정하고
x를 fit 해준다 만약 다른 데이터를 학습시키고 싶다면 원하는 데이터를 넣어주면 된다
n_components 파라미터는 데이터의 차원을 지정하는 파라미터로 2 (2차원), 3(3차원)을 지정 할 수 있다
이후 데이터프레임으로 변환을 해주었다
시각화
plt.figure(figsize=(6,6))
sns.scatterplot(x = 'T1', y = 'T2', data = x_tsne, hue = y)
plt.grid()
다음 코드로 타겟별 분포를 시각화 할 수 있다
ex)
'파이썬 > 머신러닝-비지도학습' 카테고리의 다른 글
파이썬 머신러닝 비지도학습 - DBSCAN (2) | 2023.10.03 |
---|---|
파이썬 머신러닝 비지도학습 - 클러스터링 (K-means (0) | 2023.09.25 |
파이썬 머신러닝 비지도학습 - 차원축소 - 주성분 분석(PCA) (0) | 2023.09.21 |