无监督学习进行数据变换最常见的目的是:可视化、压缩数据,以及寻找信息量更大的数据表示以用于进一步的处理。实现这些目的的方法有:主成分分析、非负矩阵分解(NMF)和 t-SNE。NMF通常用于特征提取,t-SNE通常用于二维散点 图的可视化。
1. 主成分分析
主成分分析(principal component analysis,PCA)是一种旋转数据集的方法,旋转后的特征在统计上不相关。在做完这种旋转之后,通常是根据新特征对解释数据的重要性来选择它的一个子集。下面代码示例展示了 PCA 对一个模拟二维数据集的作用:
import matplotlib.pyplot as plt
import mglearn
mglearn.plots.plot_pca_illustration()
plt.show()
输出:
上图输出的是:用 PCA 做数据变换。
第一张图(左上)显示的是原始数据点,用不同颜色加以区分。算法首先找到方差最大的方向,将其标记为“成分 1”(Comp