반응형
t-분포 확률적 임베딩은 데이터의 차원 축소에 사용되는 기계 학습 알고리즘 중 하나로, 2002년 샘 로이스Sam Rowise와 제프리 힌턴에 의해 개발되었다. t-SNE는 비선형 차원 축소 기법으로, 고차원 데이터를 특히 2, 3차원 등으로 줄여 가시화하는데에 유용하게 사용된다.
feature개수는 몇 천개고, train,test데이터 불균형은 심할 때, 어느 부분이 얼마나 다른지 확인해야될 때가 있다. 이때 사용하면 유용하다. 모 대회에서는 train 데이터 셋과 test 데이터 셋의 차이가 심하고, 심지어 test의 특정 class가 train에 거의 없는 것만 들어간 적이 있었다. 일반적인 분류알고리즘으로 성능이 너무 안나와서 t-sne를 그려보니, test의 데이터셋에 알 수 없는 class가 뭉쳐있었다. 아래 그림에서 빈 부분이 tr에는 없고 test에는 있는 데이터의 분포이다. t-sne장점은 여기서 이렇게 비주얼적으로 비교로 그치는 것이 아니라 해당 영역에 해당하는 data들을 뽑아서 볼 수도 있다. 물론 컬럼이 몇 천개라 바로 볼 수 있다고 해서 차이점이 바로 나오는 건 아니지만, 단계별로 조사하다 보면 찾을 수 있다.
train데이터와 test데이터의 개수 불균형 및 데이터 품질 차이가 클 경우, PCA, LDA, t-sne등 다양하게 조사하고 접근할 필요가 있다. 같은 데이터여도 이렇게 다른 분포와 다른 내용을 가질 수 있기 때문이다.
반응형
'python & DS' 카테고리의 다른 글
시험 DP-900: Microsoft Azure (0) | 2024.03.16 |
---|---|
python 실행시간 측정 및 디버깅 (0) | 2024.01.09 |
데이터 분석 - 회귀 계수 축소 모델 (1) | 2024.01.07 |
RandomForestClassifier (1) | 2023.11.18 |
pandas AI (0) | 2023.11.18 |