给我一个 TSNE降到三维可视化的案例
时间: 2023-05-22 12:02:33 浏览: 331
matlab做TSNE的详细代码-smile:微笑
你可以参考以下代码,使用Python中的Scikit-learn库来实现TSNE降维后的三维可视化:
```python
from sklearn.manifold import TSNE
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
# 读取数据
data = np.loadtxt("data.txt")
X = data[:, :-1]
y = data[:, -1]
# 进行TSNE降维,降到3维
model = TSNE(n_components=3, random_state=0)
X_3d = model.fit_transform(X)
# 可视化
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X_3d[:,0], X_3d[:,1], X_3d[:,2], c=y)
plt.show()
```
其中,`data.txt`是数据文件,包含了许多样本数据,每个样本有多个特征和一个标签。`TSNE`将这些样本的高维特征降到了3维,然后在三维空间中绘制出来,可视化效果非常好。
阅读全文