t-SNE로 주택 가격 구분하기
t-SNE는 비선형 차원 축소 기법으로, 고차원 데이터를 더 낮은 차원 공간에 임베딩해요. 이때 원래 이웃했던 점들이 서로 가깝게 유지되도록 노력합니다. 이번에는 t-SNE 플롯을 만들어 이전 연습 문제에서 본 PCA 플롯과 비교해 볼 거예요. PCA는 데이터의 전역 구조를 잘 보존하지만, 지역 구조는 그렇지 않을 수 있어요. 반면 t-SNE는 고차원 공간에서 이웃인 점들을 저차원 공간에서도 가깝게 배치해 지역 구조를 보존합니다. 이러한 차이는 플롯에서 확인할 수 있어요.
이제 house_sales_df에 t-SNE를 적용해 차원을 축소해 보세요. house_sales_df의 타깃 변수는 price입니다. tidyverse와 Rtsne 패키지는 미리 불러와 두었어요.
이 연습은 강의의 일부입니다
R에서의 차원 축소
연습 안내
Rtsne()를 사용해house_sales_df에 t-SNE를 적합하세요.- t-SNE의 X, Y 좌표를
house_sales_df에 바인딩하세요. ggplot()으로 t-SNE 결과를 시각화하고, 색상으로 타깃 변수를 인코딩하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Fit t-SNE
set.seed(1234)
tsne <- ___(___ %>% select(-___), check_duplicates = FALSE)
# Bind t-SNE coordinates to the data frame
tsne_df <- ___ %>%
___(tsne_x = ___$___[,___], tsne_y = ___$___[,___])
# Plot t-SNE
___ %>%
___(aes(x = ___, y = ___, color = ___)) +
geom_point() +
scale_color_gradient(low="gray", high="blue")