使用 tSNE 可视化距离矩阵 - Python

2024-02-14

我已经计算了一个距离矩阵,并且正在尝试两种方法来可视化它。 这是我的距离矩阵:

delta =
[[ 0.          0.71370845  0.80903791  0.82955157  0.56964983  0.          0.        ]
 [ 0.71370845  0.          0.99583115  1.          0.79563006  0.71370845
   0.71370845]
 [ 0.80903791  0.99583115  0.          0.90029133  0.81180111  0.80903791
   0.80903791]
 [ 0.82955157  1.          0.90029133  0.          0.97468433  0.82955157
   0.82955157]
 [ 0.56964983  0.79563006  0.81180111  0.97468433  0.          0.56964983
   0.56964983]
 [ 0.          0.71370845  0.80903791  0.82955157  0.56964983  0.          0.        ]
 [ 0.          0.71370845  0.80903791  0.82955157  0.56964983  0.          0.        ]]

考虑标签来自1 to 7, 1真的很接近6 and 7以及更进一步的形式4.

起初我尝试使用 tSNE 降维:

from sklearn.preprocessing import normalize
from sklearn import manifold
from matplotlib import pyplot as plt
from matplotlib.lines import Line2D

import numpy

model = manifold.TSNE(n_components=2, random_state=0, metric='precomputed')
coords = model.fit_transform(delta)

cmap = plt.get_cmap('Set1')
colors = [cmap(i) for i in numpy.linspace(0, 1, simulations)]

plt.figure(figsize=(7, 7))
plt.scatter(coords[:, 0], coords[:, 1], marker='o', c=colors, s=50, edgecolor='None')

markers = []
labels = [str(n+1) for n in range(simulations)]
for i in range(simulations):
    markers.append(Line2D([0], [0], linestyle='None', marker="o", markersize=10, markeredgecolor="none", markerfacecolor=colors[i]))
lgd = plt.legend(markers, labels, numpoints=1, bbox_to_anchor=(1.17, 0.5))
plt.tight_layout()
plt.axis('equal')
plt.show()

这产生了这个情节:

我们在哪里可以看到这个没有显示1接近6 and 7。相反,它最接近4.

然后,不确定减少是否停止在某个局部最小值处,我尝试绘制一个图表:

将networkx导入为nx

plt.figure(figsize=(7, 7))

dt = [('len', float)]
A = delta
A = A.view(dt)

G = nx.from_numpy_matrix(A) 
pos = nx.spring_layout(G)

nx.draw_networkx_nodes(G, pos, node_color=colors, node_size=50)

lgd = plt.legend(markers, labels, numpoints=1, bbox_to_anchor=(1.17, 0.5))
plt.tight_layout()
plt.axis('equal')
plt.show()

可以看出,同样的情况发生。如果我继续重复这个最新的方法,我最终会得到不同类型的图表:

在这里,我更加接近我的期望。然而,这些行为似乎都是正确的。无论图的初始化有多么不同,都应该考虑距离。

所以,我想知道我缺少什么来实现这个距离矩阵的良好表示。

Thanks.


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 tSNE 可视化距离矩阵 - Python 的相关文章

随机推荐

  • spectj可以向java.lang.String添加方法吗

    我读过aspectj的一些文章 我知道它可以增强类 这很有吸引力 我有一个非常愚蠢的问题 我找不到明确的答案 spectj可以向java lang String添加方法吗 或者类似的问题 如果我无法获取某些类的源代码 我可以通过aspect
  • Kubernetes 集群中的 DisallowedHost Django 部署:无效的 HTTP_HOST 标头

    我在 Azure Kubernetes 集群中为前端服务部署了 Django 并进行了一些基本配置 但请注意 同样的问题也适用于我本地的 Minikube 集群 我从远程容器注册表中获取 Django 前端容器映像并公开port 8010
  • 检测数据何时发生变化

    好吧 故事是这样的 我有很多特定格式的文件 相当大 大约 25GB 需要导入到数据存储中 这些文件不断更新数据 有时是新的 有时是相同的数据 我正在尝试找出一种算法来检测文件中特定行是否发生更改 以便最大限度地减少更新数据库所花费的时间 目
  • PHP date - 获取本地语言的月份名称

    我有这部分功能 它给我英文月份的名称 我如何将它们翻译成我的当地语言 塞尔维亚语 month name date F mktime 0 0 0 i Where i是月份的数字 值 1 12 也可以看看PHP mktime https www
  • 用于旋转相机意图捕获的图像的代码在 Android 中不起作用

    我有一个问题 使用相机意图捕获的图像被旋转 我在为什么使用相机意图捕获的图像在某些 Android 设备上会旋转 https stackoverflow com questions 14066038 why image captured u
  • 当选择标签样式属性设置为 display: none; 时如何从下拉列表中检索值在 python 硒中

    我正在尝试废弃一个网站的下拉类别的所有组合 但是 选项的文本属性仅为空白 尽管在检查时 我可以看到每个选项都存在文本 from selenium import webdriver from selenium webdriver suppor
  • 如何使用 .Mdf 文件部署 C# exe?

    我已经创建了 Windows 应用程序 并且创建了本地数据库并添加了用户名和密码 如果用户名和密码正确 那么我必须打开代码 我已经生成了一个 Setup Msi 但是当我尝试在我的机器中安装时它工作正常 但是当我尝试在其他没有 Net或任何
  • 为什么 SQL Server '=' 比较器不区分大小写?

    我刚刚意识到 SQL Server 比较器在用于文本比较时不区分大小写 我对这个功能有几个疑问 这对于所有数据库都相同还是特定于 SQL Server 我一直在使用lower函数以确保文本比较到目前为止不敏感 遵循同样的做法仍然是一个好主意
  • Slim - 如何发送带有“Content-Type:application/json”标头的响应?

    我有这个简单的 REST api 用 Slim 完成
  • 通过Ajax将画布图像数据(Uint8ClampedArray)发送到Flask Server

    我想通过 AJAX 将 HTML5 上的图像数据发送到 Flask 服务器后端 我从使用中提取相关图像数据context getImageData a b c d 并且理想情况下希望能够在我的 Flask 后端以 numpy 数组的形式访问
  • 如何使 cocos2d 精灵每秒缩放(以获得脉动效果)?

    我想让精灵每秒缩放一次 使其看起来像是鼓起来并脉动 我怎样才能做到这一点 由于之前的帖子包含语法错误 更准确地说 我发布了工作代码 CCSprite sprite create the sprite id scaleUpAction CCE
  • Xcode 4、dylib 和 install_name_tool

    我正在尝试让 dylib 在我的 OSX 项目中工作 我一直在阅读一些示例 特别是这个 Xcode 4 添加 dylib https stackoverflow com questions 6801709 xcode 4 adding dy
  • Python 模块中的类内相关性?

    我正在寻找计算组内相关性 ICC https en wikipedia org wiki Intraclass correlation在Python中 我还没有找到具有此功能的现有模块 有替代名称吗 还是我应该自己起一个 我知道有人问了这个
  • 使用SIMD解包8位到16位:AVX2版本混淆了顺序

    我正在尝试使用 SSE2 来解压带零的文本 并将其扩展到 AVX2 这就是我的意思 假设您有这样的文本 abcd 我正在尝试使用SSE2来解压abcd into a 0b 0c 0d The 0是零 这当然适用于 16 个字符而不是 4 个
  • 将 .npy(numpy 文件)输入到张量流数据管道中

    Tensorflow 似乎缺少 npy 文件的阅读器 如何将数据文件读入新的tensorflow data Dataset pipline 我的数据不适合内存 每个对象都保存在单独的 npy 文件中 每个文件包含 2 个不同的 ndarra
  • cmake 将中间文件放置到某个目录

    我对 cmake 还很陌生 想知道如何使用 cmake 来做到这一点 我想将所有中间文件 如 o 文件 放置在某个目录 例如 build 中 然后一旦构建完成 我想复制我需要的某些文件 例如 exe dll 就像最终产品一样 从构建目录到
  • OpenGL GLSL 统一分支与多个着色器

    我读过很多关于统一 if 语句的文章 这些语句处理分支以改变大型着色器 超级着色器 的行为 我开始使用 uber 着色器 opengl lwjgl 但后来我意识到 与没有统一 if 语句的单独着色器相比 在片段着色器中添加由统一的 if 语
  • Google Talk 是如何工作的?

    如何谷歌谈话 http en wikipedia org wiki Google Talk工作 当我与朋友通话时 什么充当中间的一个来转移我的声音 它背后是谷歌服务器 充当中间人吗 或者它提供点对点协议吗 他们使用 XMPP jabber
  • 如何清除MKMapView缓存?

    我正在尝试加载地图区域 并且在第二次或后续加载时不会调用 MKMapView 委托方法 没有委托方法 即 void mapViewWillStartLoadingMap MKMapView mapView void mapViewDidFi
  • 使用 tSNE 可视化距离矩阵 - Python

    我已经计算了一个距离矩阵 并且正在尝试两种方法来可视化它 这是我的距离矩阵 delta 0 0 71370845 0 80903791 0 82955157 0 56964983 0 0 0 71370845 0 0 99583115 1