对高光谱数据集Indian 进行t-SNE可视化编程
时间: 2024-02-11 16:05:04 浏览: 147
T-SNE可视化高维数据
好的,下面就让我们来对高光谱数据集Indian进行 t-SNE 的可视化编程。具体步骤如下:
1.导入必要的库和数据:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.manifold import TSNE
# 读取数据
data = np.loadtxt('Indian_pines_corrected.txt')
labels = np.loadtxt('Indian_pines_gt.txt')
```
2.对数据进行降维:
```python
# 将数据转换成二维数组
X = data.reshape((145*145, 200))
# 对数据进行降维
tsne = TSNE(n_components=2, perplexity=30, learning_rate=200)
X_tsne = tsne.fit_transform(X)
```
3.可视化降维后的数据:
```python
# 绘制散点图
plt.figure(figsize=(10, 8))
plt.scatter(X_tsne[:, 0], X_tsne[:, 1], c=labels.reshape(145*145), cmap='jet')
plt.colorbar()
plt.show()
```
在这段代码中,我们对高光谱数据集进行了降维,并将结果可视化展示出来。其中,perplexity 参数指定了每个点周围的邻居数,learning_rate 参数指定了学习率。在可视化时,我们使用了 matplotlib 库中的 scatter 函数,c 参数指定了颜色,cmap 参数指定了颜色映射,colorbar 函数用于添加颜色条。运行代码后,我们可以看到高光谱数据集在二维空间中的可视化效果。
阅读全文