以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
流形学习(manifold learning)是机器学习、模式识别中的一种方法,在维数约简方面具有广泛的应用。本节将向大家介绍在 Python 中利用 Scikit-Learn 工具库实现流形学习的一系列方法与技巧。
首先需要导入相关的可视化工具库,并构造本节的第一个示例数据:
构建如下函数 make_hello 用于示例数据集构建:
构建示例数据集 X,一组拼接成“HELLO”字样的散点样本:
我们构建的数据样本如上所示,接下来我们对样本点的坐标进行以下旋转,将旋转后的数据集命名为 X2:
为了直观地展现流形学习,我们运用 Scikit-Learn 中的 pairwise_distances 工具计算样本点两两之间的距离指标,并存储为矩阵 D:
(1000, 1000)
我们可以用像素图来描绘矩阵 D 中的内容,1000 个样本点中两两间的距离如下图所示:
可以看到,X2 与 X 中样本点两两间的距离不会因为整体旋转而改变:
True
以上内容节选自 数析学院,后文还有三维数据集处理、图像处理实例等,内容较多,先搬运到这,有需要的同学可以先直接到 数析学院 查看原文