![]() |
1
21
老实说,我认为这个图表显示了太多的信息,使它有点难以阅读。。。您可能只想写特定的值。 另外,另一个更快的选择是将图形保存为pdf,导入Inkscape(或类似软件)并在需要时手动添加文本。 希望这有帮助
|
![]() |
2
23
A (Voronoi分解图)是直观地表示距离矩阵(DM)的一种方法。
如果你不熟悉计算几何的这一方面,那么这两者之间的关系(VD&DM)是直截了当的,尽管简短的总结可能会有所帮助。 距离矩阵——也就是说,一个显示一个点和其他每一个点之间距离的2D矩阵,是kNN计算过程中的中间输出(也就是说,k-最近邻,一种机器学习算法,它根据给定数据点的“k”最近邻的加权平均值,按距离预测给定数据点的值,其中“k”是一个整数,通常在3到5之间。) kNN在概念上非常简单——训练集中的每个数据点本质上都是某个n维空间中的一个“位置”,因此下一步是使用某种距离度量(例如,欧几里德、曼哈顿等)计算每个点与其他每个点之间的距离。虽然训练步骤——即构造距离矩阵——很简单,但使用它来预测新数据点的值实际上受到数据检索的阻碍——从分散在n维空间的几千或几百万个点中找到最近的3或4个点。 两种数据结构通常用于解决这个问题:kd树和Voroni分解(也称为“Dirichlet细分”)。 Voronoi分解(VD)是由距离矩阵唯一确定的,即有一个1:1的映射;所以它确实是距离矩阵的一种直观表示,尽管这不是它们的目的——它们的主要目的是有效地存储用于基于kNN的预测的数据。
那你怎么做呢? Voronoi分解是通过从训练集中选择(通常是随机的)一个点子集来构造的(这个数字因情况而异,但是如果我们有1000000个点,那么100是这个子集的合理数字)。这100个数据点是Voronoi中心(“VC”)。 Voronoi分解背后的基本思想是,不必筛选1000000个数据点来寻找最近的邻居,只需查看这100个数据点,然后一旦找到最近的VC,对实际最近邻居的搜索就仅限于Voronoi单元内的点。接下来,对于训练集中的每个数据点,计算它最接近的VC。最后,对于每个VC和它的相关点,计算凸包——从概念上讲,就是由VC的指定点形成的外部边界,这些指定点距离VC最远。这个围绕Voronoi中心的凸包形成了一个“Voronoi细胞”。一个完整的VD是将这三个步骤应用到训练集中每个VC的结果。这将为曲面提供完美的镶嵌(请参见下图)。 要计算R中的VD,请使用 包裹。关键函数是“voronoi.mosaic”,你只需分别传递x和y坐标——原始数据, 不 DM——然后你可以把voronoi.mosaic传递给“plot”。
|
|
3
23
|
![]() |
4
17
您可能需要考虑查看矩阵的二维投影(多维缩放)。 Here is a link to how to do it in R 否则,我认为你的热图是对的。你可以不费吹灰之力地把数字加起来。例如,建筑 Learn R :
|
![]() |
5
9
|
![]() |
6
7
在Borcard等人2011年出版的《数值生态学》一书中,他们使用了一个名为*coldiss.r的函数* 你可以在这里找到它: http://ichthyology.usm.edu/courses/multivariate/coldiss.R 它对距离进行颜色编码,甚至按不同的顺序排列记录。 另一个好的方案是 系列化 包裹。 参考文献: Borcard,D.,Gillet,F&勒让德,P(2011)数字生态学与R。斯普林格。
|
![]() |
7
4
一种多维尺度的求解方法
|
![]() |
lpt · 外语中的词云或可视化 7 年前 |
![]() |
Fedor Nikitin · 如何获取Bokeh热图中点击位置的标签 7 年前 |
![]() |
Forrest · Matlab-散点图不同颜色的多类 7 年前 |
![]() |
user3363813 · 使用可变时间设置动画 7 年前 |
![]() |
Paridhi · 使用Python数据框绘制折线图 7 年前 |
![]() |
Luv · 如何在R中的同一图形中显示并排条形图和堆叠条形图? 7 年前 |