用 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")