t-SNE で住宅価格を分離する
t-SNE は非線形の次元削減手法で、高次元データを低次元空間に埋め込みます。その際、元の近傍関係が保たれるように点同士を近くに配置しようとします。ここでは、前の演習で作成した PCA プロットと比較できる t-SNE プロットを作成します。PCA はデータの大域構造を保ちますが、局所構造は保ちません。t-SNE は高次元空間での近傍同士を低次元空間でも近くに保つことで局所構造を保持します。これをプロットで確認できます。
t-SNE を用いて house_sales_df を次元削減します。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")