豆豆养乐多 2022-08-08 22:56 采纳率: 0%
浏览 46

t-SNE的输入数据是特征影像吗?为什么出来的图不同颜色全都混在一起的?(关键词-for)

问题遇到的现象和发生背景

t-SNE的输入数据是特征影像吗?为什么出来的图不同颜色全都混在一起的?怎么样可以使得只有相同颜色的点聚在一团

img


img


img


图1是原始数据输入结果,图2,图3是特征影像输入的结果

问题相关代码,请勿粘贴截图

for i in range(len(Name)):

Feature=np.load(Datadir+Name[i]+'.npy')
y=np.load(Datadir + 'y.npy')
X_tsne = TSNE(n_components=2,random_state=33,early_exaggeration=50.0,n_iter=1000).fit_transform(Feature,y)
plt.figure(figsize=(10, 10))

# plt.subplot(121)

plt.scatter(X_tsne[:, 0], X_tsne[:, 1],c=y,label=Name[i], cmap='rainbow')
plt.legend()
plt.show()

用的代码很简单。

我的解答思路和尝试过的方法

按照TSNE的调用参数,大部分都是默认值,尝试提高n_iter 迭代次数和early_exaggeration 表示嵌入空间簇间距的大小,效果还是这样。到底要怎么改才能达到同一颜色的点聚在一起?

n_components :嵌入空间的维度
perpexity 混乱度,表示t-SNE优化过程中考虑邻近点的多少,默认为30,建议取值在5到50之间
early_exaggeration 表示嵌入空间簇间距的大小,默认为12,该值越大,可视化后的簇间距越大
learning_rate 学习率,表示梯度下降的快慢,默认为200,建议取值在10到1000之间
n_iter 迭代次数,默认为1000,自定义设置时应保证大于250
min_grad_norm 如果梯度小于该值,则停止优化。默认为1e-7
metric 表示向量间距离度量的方式,默认是欧氏距离。如果是precomputed,则输入X是计算好的距离矩阵。也可以是自定义的距离度量函数。
init 初始化,默认为random。取值为random为随机初始化,取值为pca为利用PCA进行初始化(常用),取值为numpy数组时必须shape=(n_samples, n_components)
verbose 是否打印优化信息,取值0或1,默认为0=>不打印信息。打印的信息为:近邻点数量、耗时、σ、KL散度、误差等
random_state 随机数种子,整数或RandomState对象
method 两种优化方法:barnets_hut和exact。第一种耗时O(NlogN),第二种耗时O(N^2)但是误差小,同时第二种方法不能用于百万级样本
angle 当method=barnets_hut时,该参数有用,用于均衡效率与误差,默认值为0.5,该值越大,效率越高&误差越大,否则反之。当该值在0.2-0.8之间时,无变化。

我想要达到的结果

怎么样达到这种效果?要调整哪个参数?还是数据的问题

img

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-08-09 06:01
    关注
    给你找了一篇非常好的博客,你可以看看是否有帮助,链接:如何有效使用t-SNE
    评论

报告相同问题?

问题事件

  • 修改了问题 8月8日
  • 修改了问题 8月8日
  • 修改了问题 8月8日
  • 创建了问题 8月8日

悬赏问题

  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活
  • ¥15 sqlserver中加密的密码字段查询问题
  • ¥20 有谁能看看我coe文件到底哪儿有问题吗?
  • ¥20 我的这个coe文件到底哪儿出问题了
  • ¥15 matlab使用自定义函数时一直报错输入参数过多
  • ¥15 设计一个温度闭环控制系统
  • ¥100 rtmpose姿态评估
  • ¥15 通联支付网上收银统一下单接口
  • ¥15 angular有偿编写,