问题标签 [multi-dimensional-scaling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
269 浏览

c# - Windows 应用商店应用程序无法缩放

我正在开发一个 Windows 应用商店应用程序,但遇到了缩放到不同屏幕尺寸的问题——即 140% 和 180%。一切都在我的计算机上完美运行,缩放到 100%,但是当我在 Surface Pro 和未缩放到 100% 的不同模拟器选项上测试它时,它开始起作用。我很确定问题出在,<VisualStateManager>但据我所知。

该问题仅出现在Snapped状态中,并且在横向模式下会发生 140% 的情况,标题有时会出现有时会保持空白。有时,单击标题可以调出菜单——即使它是空白的,而其他时候什么也没有发生。关于它的奇怪部分是,它是否有效取决于加载的数据DataFrame框架中加载的数据,所以如果我将这些页面的内容更改为与工作页面相同的内容,它就会工作。较短的页面似乎有更多的问题,但这是我能找到的唯一模式。

当屏幕缩放到 140% 纵向模式时,看不到任何文字,但仍有一些可点击。

当屏幕缩放到 180% 时,文本不可见,不可点击。

标题图片未显示:

标题不显示

图片标题显示:

标题显示

这是我的MainPage.xaml代码:

如果我从 中删除此位<VisualState x:Name="Snapped">,我的文本消失没有问题,尽管点击问题仍然存在:

我在互联网上搜索了其他有此问题的人,并找到了这些 MSDN 页面:

缩放到像素密度
调整到窄布局
支持多种屏幕尺寸

据我所知,我已经完成了所有这些更改。

我的简化程序可在此处的文件中找到

我的图片可以在这里找到

0 投票
1 回答
438 浏览

php - PHP项目中可视化数据(多维缩放?)的算法

我有 +-100 点/值的小矩阵、测试结果及其彼此之间的距离(0-10、10 是最接近的):http: //vis.arcs.cz

我想在 2D 中可视化它以快速找到一组接近的值。所以我需要处理这个矩阵并获得二维点的坐标。

方法可能是多维缩放,但我无法找到算法、库或扩展,也无法在 PHP 代码中使用数学公式。

我过去两天在谷歌上搜索,最接近的结果是 http://www.php.net/manual/en/lapack.leastsquaresbysvd.php - ?(不能作为新手分享更多链接)

我将感谢任何适用于 php 项目的解决方案(用 C++ 编译的 MathLab 代码......)。

0 投票
2 回答
2985 浏览

python - Python:使用 HDF5 格式的不完整成对相异矩阵运行多维缩放

我正在处理在 NCBI BLAST 中生成的蛋白质-蛋白质相似性的大型数据集。我已将结果存储在一个大型成对矩阵 (25,000 x 25,000) 中,并且我正在使用多维缩放 (MDS) 来可视化数据。这些矩阵太大而无法在 RAM 中使用,因此我将它们以 HDF5 格式存储在磁盘上,并使用 h5py 模块访问它们。

sklearn 流形 MDS 方法为 3D 中的小规模数据生成了出色的可视化效果,这就是我目前使用的方法。对于计算,它需要一个完整的对称成对相异矩阵。但是,对于大型数据集,会形成一种“外壳”,从而掩盖已形成的集群。

http://imgur.com/XkpoOJ4

我认为问题在于我需要输入一个完整的相异矩阵。有些蛋白质彼此不相关,但在成对相异矩阵中,我被迫输入相异的默认最大值。在 sklearn MDS 的文档中,它说值 0 被认为是缺失值,但是在我想要缺失值的地方输入 0 似乎不起作用。

有什么方法可以输入不完整的相异矩阵,因此不必输入不相关的蛋白质?还是有更好/更快的方法来可视化成对相异矩阵中的数据?

0 投票
1 回答
1655 浏览

r - 在 R 中绘制地理坐标和多维缩放坐标

所描述的问题涉及表示多维缩放(MDS)坐标以及真实数据点(城市的经度和纬度)。

所以,我有一个距离矩阵,上传到这里。矩阵中的条目表示九个美国城市之间的距离(以英里为单位)。该矩阵输入到 MDS。MDS 生成一组我希望在地图上绘制的坐标。

让我们先画出美国的地图。(图贴在下面。)

图1

现在是 MDS 部分:

拟合的坐标存储在fit$points对象中:

我的问题:如何缩放这些点以将它们添加到我的地图中。任何指针将不胜感激。

0 投票
1 回答
4778 浏览

python - scikit-learn 的 MDS 的正确输入是什么?

我希望这是发布的正确位置-如果不是,我愿意更改为 SO。

无论如何,我使用 MDS 来帮助我找到数据集的二维表示。从本质上讲,这些是多年蛋白质数据中氨基酸残基的 pKa 值——其核心是相同比例的十进制数。有很多职位(~600 行),还有很多年(~12 列)。

我的问题是:MDS 的正确输入是数据矩阵(年与职位),还是我可以放入相关矩阵(年与年)?我问是因为 API 文档与书面描述冲突。

API文档说数据矩阵:http ://scikit-learn.org/stable/modules/generated/sklearn.manifold.MDS.html#sklearn.manifold.MDS(即n_samples,n_features)。

书面描述说“输入相似度矩阵”:http ://scikit-learn.org/stable/modules/manifold.html

0 投票
1 回答
1128 浏览

matlab - 鸢尾花数据集上的多维缩放 (MDS)

我应该在著名的 Fisher Iris 数据集上使用 matlab 中的“mdscale”函数进行多维缩放。

我不明白为什么有时它有效,有时无效。这就是我所做的:

错误是:

配置中的点位于同一位置。尝试不同的起点,或使用不同的标准。

如果我使用“sstress”或“metricsstress”之类的其他标准,它似乎可以工作。

怎么解释?

0 投票
3 回答
795 浏览

r - 如何按物种矩阵显示站点中的植物物种生物量?

我之前问过“如何将两列显示为二进制(存在/不存在)矩阵?”。这个问题得到了两个很好的答案。我现在想更进一步,并通过物种列在原始站点中添加第三列,以反映每个地块中每个物种的生物量。

第 1 列(地块)指定约 200 个地块的代码,第 2 列(物种)指定约 1200 个物种的代码,第 3 列(生物量)指定干重。每个地块有 > 1 个物种,每个物种可以出现在 > 1 个地块中。总行数约为 2700。

我想按物种矩阵创建一个图,显示每个图中每个物种的生物量(而不是二元存在/不存在矩阵),形式如下:

任何关于如何增加这种额外复杂程度的建议都将不胜感激。

0 投票
1 回答
2377 浏览

python - 在 scikit-learn 中对 MDS 使用相似矩阵而不是相异矩阵

我想将我使用 scikit-learn 的 TfidfVectorizer 的文本文档的相似性可视化为tfidf = TfidfVectorizer(decode_error='ignore', max_df=3).fit_transform(data)

然后执行余弦相似度计算为cosine_similarity = (tfidf*tfidf.T).toarray()

这给出了相似性,但sklearn.manifold.MDS需要一个相异矩阵。当我给出 1-cosine_similarity 时,应该为零的对角线值不为零。它们是一些小的价值,例如1.12e-9等。两个问题:

1) 如何使用 MDS 的相似度矩阵或如何将相似度矩阵更改为不相似度矩阵?

2) 在 MDS 中,有一个选项dissimilarity,其值可以是'precomputed''euclidean'。两者有什么区别,因为当我给出欧几里得时,无论我使用 cosine_similarity 还是 1-cosine_similarity ,MDS 坐标都会变得相同,这看起来是错误的。

谢谢!

0 投票
1 回答
785 浏览

r - 如何将相异矩阵与函数 metaMDS 一起使用?

我有一个从包含三个原始列的表中导出的矩阵:第 1 列 = 站点代码,第 2 列 = 物种代码,第 3 列 = 每个物种的生物量重量。每个小区中每个物种的生物量重量显示在矩阵中。可以使用以下三个选项之一来计算矩阵(感谢对较早问题的反馈):

注意:dissim 是两列表的 .csv 文件名;dissimBiom 是三列表的 .csv 文件名。

我现在想根据上面的矩阵生成一个相异矩阵。下面的代码需要 vegan 和 ecodist 包。

我之前使用过该功能

仅基于两列(站点与物种)生成矩阵,然后使用

生成相异矩阵。这工作得很好。

相反,尝试生成一个相异矩阵,其中该矩阵是使用以下代码之一生成的(如上)

使用相同的功能

导致以下错误消息

注意:我从我编写的文件 matrixBiom.csv 中调用 matrixBiom 来将 NA 转换为 0,使用

与 matrixBiom.meta 相比,matrix.meta 直接用于 'matrix' 而无需编写 .csv 文件。

此外,由生成的矩阵

看起来像这样

而由其他任何一种方法生成的矩阵具有格式

我的问题是,

1) 在这些函数中的任何一个中

NA可以直接转换为0以避免在.csv文件中写入和读取,也许这可以解决问题?

2) 哪些修复可用于三列表示例以使用 metaMDS 进行 NMDS?

3) 是否有替代函数来计算三列表示例的相异矩阵?

任何建议将不胜感激。

请在下面找到可重现的数据子集:

0 投票
1 回答
205 浏览

orange - 多维尺度误差

我使用 Orange Program 进行数据挖掘。

在这个平台上,我使用了多维缩放功能。(MDS)

我的输入文件是 7224 * 150 矩阵。

运行 MDS 功能后,出现错误。

当我运行一个小文件时,MDS 函数运行良好。

我怎么解决这个问题???

这是一条错误消息。

KernelException Traceback(最近一次调用最后):文件“C:\Python27\lib\site-packages\Orange\OrangeCanvas\scheme\widgetsscheme.py”,第 649 行,在 process_signals_for_widget 处理程序(*args)文件“C:\Python27\ lib\site-packages\Orange\OrangeWidgets\Unsupervised\OWMDS.py”,第 229 行,在 cmatrix self.mds = orngMDS.MDS(matrix) 文件“C:\Python27\lib\site-packages\Orange\utils__init__.py ”,第 214 行,在 wrap_call 返回 func(*args, **kwargs) 文件“C:\Python27\lib\site-packages\Orange\projection\mds.py”,第 249 行,在init self.original_distances=Orange 中。 misc.SymMatrix([m for m in self.distances]) KernelException: bad allocation