流形学习(Manifold Learning)是一种非线性降维方法

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 流形学习(Manifold Learning)是一种非线性降维方法

流形学习(Manifold Learning)是一种非线性降维方法,它假设数据位于一个低维流形上,并尝试找到这个低维表示。在sklearn.manifold模块中,有几种流行的流形学习方法,包括t-SNE(t-Distributed Stochastic Neighbor Embedding)和Isomap(Isometric Mapping)。

1. t-SNE(t-Distributed Stochastic Neighbor Embedding)

t-SNE是一种用于可视化和高维数据降维的技术。它通过在高维空间中保留数据点的局部邻域结构,并在低维空间(通常是二维或三维)中展示这种结构,来工作。

Python代码示例

from sklearn.manifold import TSNE
from sklearn.datasets import load_digits
import matplotlib.pyplot as plt

# 加载数据
digits = load_digits()
X = digits.data
y = digits.target

# 使用t-SNE进行降维
tsne = TSNE(n_components=2, random_state=0)
X_2d = tsne.fit_transform(X)

# 可视化结果
plt.figure(figsize=(6, 5))
colors = 'r', 'g', 'b', 'c', 'm', 'y', 'k', 'w', 'orange', 'purple'
for i, c, label in zip(range(10), colors, digits.target_names):
    plt.scatter(X_2d[y == i, 0], X_2d[y == i, 1], c=c, label=label)
plt.legend()
plt.show()

2. Isomap(Isometric Mapping)

Isomap是一种基于图理论的流形学习方法,它试图保持数据点之间的测地线距离(即沿着流形表面的最短路径)。

Python代码示例

from sklearn.manifold import Isomap
from sklearn.datasets import load_digits
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# 加载数据
digits = load_digits()
X = digits.data
y = digits.target

# 使用Isomap进行降维到三维
isomap = Isomap(n_neighbors=5, n_components=3)
X_3d = isomap.fit_transform(X)

# 可视化结果(这里使用三维散点图)
fig = plt.figure(figsize=(8, 6))
ax = fig.add_subplot(111, projection='3d')
colors = 'r', 'g', 'b', 'c', 'm', 'y', 'k', 'w', 'orange', 'purple'
for i, c, label in zip(range(10), colors, digits.target_names):
    ax.scatter(X_3d[y == i, 0], X_3d[y == i, 1], X_3d[y == i, 2], c=c, label=label)
ax.legend()
plt.show()

请注意,对于Isomap,我选择了三维降维以便于可视化。但在实际应用中,你可能希望将其降至二维或更低维度。
处理结果:

1. t-SNE(t-Distributed Stochastic Neighbor Embedding)

t-SNE是一种用于可视化和高维数据降维的技术。它通过在高维空间中保留数据点的局部邻域结构,并在低维空间(通常是二维或三维)中展示这种结构,来工作。
Python代码示例
```python

加载数据

使用t-SNE进行降维

可视化结果

plt.scatter(X_2d[y == i, 0], X_2d[y == i, 1], c=c, label=label)
Isomap是一种基于图理论的流形学习方法,它试图保持数据点之间的测地线距离(即沿着流形表面的最短路径)。

相关文章
|
5月前
|
机器学习/深度学习 算法 数据可视化
Machine Learning机器学习之高维数据降维(主成分分析PCA、线性判别分析、自编码器超级无敌详细讲解)
Machine Learning机器学习之高维数据降维(主成分分析PCA、线性判别分析、自编码器超级无敌详细讲解)
|
5月前
|
机器学习/深度学习 数据采集 数据挖掘
【机器学习】普通最小二乘法和ridge回归有什么区别?
【5月更文挑战第21天】【机器学习】R-squared系数有什么缺点?如何解决?【机器学习】普通最小二乘法和ridge回归有什么区别?
|
5月前
|
数据可视化 Python
Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练和预测可视化
Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练和预测可视化
Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练和预测可视化
|
5月前
|
数据可视化 数据建模 大数据
MCMC的rstan贝叶斯回归模型和标准线性回归模型比较
MCMC的rstan贝叶斯回归模型和标准线性回归模型比较
|
5月前
|
机器学习/深度学习 存储 算法
【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例(二)
【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例二)
|
5月前
|
机器学习/深度学习 并行计算 算法
【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例(一)
【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例(一)
|
5月前
|
机器学习/深度学习 算法 数据可视化
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例
|
5月前
|
机器学习/深度学习 算法 C++
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
R语言贝叶斯MCMC:GLM逻辑回归、Rstan线性回归、Metropolis Hastings与Gibbs采样算法实例
|
5月前
|
自然语言处理 算法 数据挖掘
R语言中的隐马尔可夫HMM模型实例
R语言中的隐马尔可夫HMM模型实例
|
资源调度 算法 数据可视化
t_SNE 非线性降维基础原理
本文记录了个人关于 非线性降维算法 t-SNE(t-Distributed Stochastic Neighbor Embedding)的学习理解,以供参考学习
255 0