问题标签 [pdist]
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.
matlab - 如何分别计算不同维度的欧几里得距离?
使用时遇到一个问题pdist
,如果您能给我一些建议,将非常感谢。pdist(D)
通常给出多维距离的总和,但是,我想单独获得距离。例如,我有S
一个 10*2 矩阵的数据集,我正在使用pdist(S(:,1))
和pdist(S(:,2))
分别获取距离,但是当数据有很多维度时,这似乎非常低效。有没有其他方法可以更有效地实现这一目标?提前致谢!
python - 从一个点到所有其他点的距离之和
我有两个清单
available_points = [[2,3], [4,5], [1,2], [6,8], [5,9], [51,35]]
和
solution = [[3,5], [2,1]]
我试图弹出一个点available_points
并将其附加到solution
从该点到所有点的欧几里得距离之和solution
最大的地方。
所以,我会得到这个
solution = [[3,5], [2,1], [51,35]]
我能够像这样选择最初的 2 个最远点,但不知道如何继续。
这给了我
solution = array([[1, 2], [51, 35]])
matlab - 使用 matlab matconvnet 训练网络
我想使用 matlab 和 matconvnet-1.0-beta25 训练我的网络。我的问题是回归,我使用pdist
损失函数来获取 mse。输入数据为56*56*64*6000
,目标数据为56*56*64*6000
,网络架构如下:
我将(我的名字)中的getSimpleNNBatch(imdb, batch)
功能更改ncnn_train
如下:
因为我的标签是多维的。我也从更改errorFunction
为:cnn_train
multiclasses
none
并将error
变量从:
至:
我的第一个问题是为什么res(end).x
上面命令中的第三维是 1 而不是 64?这是56*56*1*100
(100 是批次)。
我犯错了吗?
这是结果:
matlab - 绘制点之间的距离matlab
我做了一个10分的情节
10 10
248,628959661970 66,9462583977501
451,638770451973 939,398361884535
227,712826026548 18,1775336366957
804,449583613070 683,838613746355
986,104241895970 783,736480083219
29,9919502693899 534,137567882728
535,664190667238 885,359450931142
87,0772199008924 899,004898906140
990 990
第一列作为 x 坐标,另一列作为 y 坐标
导致以下情节:使用以下代码:scatter(Problem.Points(:,1),Problem.Points(:,2),'.b')
然后我还使用计算了欧几里得距离Problem.DistanceMatrix = pdist(Problem.Points);
Problem.DistanceMatrix = squareform(Problem.DistanceMatrix);
当距离大于某个值时,我将距离替换为 1*10^6。这导致下表:
然后,我想绘制对应点之间的线,最好是它们的距离,但前提是距离< 1 * 10 ^ 6。
具体来说,我想绘制线 [1,2] [1,4] [1,7] [2,4] 等。
我的问题是,这可以做到吗?怎么做?
python - 如何找到大于某个余弦距离值的值对?
我有一个数组:
我用“pdist”计算了它的余弦距离,cosine_distance=1-pdist(array, metric='cosine')
得到了距离数组:
现在,我只想得到余弦距离大于 0.4 且小于 0.49 的那些对。我已经计算出大于 0.4 的值的数量number_points=len([1 for i in cosine_distance if i >= 0.4])
。但无法得到那些对。
matlab - Matlab内存不足。使用 pdistmex 时出错
我有一个大小为 (262322x4) 的矩阵 M。在运行 knn 插补时:
我收到以下错误:
此错误是由于内存限制还是其他原因?
(注:内存大小:8GB)
matlab - 具有 3D 坐标的两个矩阵之间的最小距离
我有两个带有坐标的矩阵((intx(i),inty(i),intz(i))和Ceres(j)),我需要找到彼此最接近的两个点。从 MATLAB 代码中,我希望得到第一个矩阵中的点之间的距离,即最接近第二个矩阵 Ceres 上的点。
但是,我没有在 disttemp 中将这个最小值作为单个数字获取,而是得到了一个长度数组(ceres_lim)。
我究竟做错了什么?
python - scipy pdist 只得到两个最近的邻居
我一直在用 scipy 计算成对距离,我正试图获得到两个最近邻居的距离。我目前的工作解决方案是:
但是,在我的情况下,方形方法在空间上非常昂贵并且有些多余。我只需要两个最近的距离,而不是全部。有简单的解决方法吗?
谢谢!
python - 为 Scipy 的 cdist(或 pdist)使用具有自定义功能的附加 kwargs?
我正在使用带有 scipy 的cdist函数的自定义度量函数。自定义功能类似于
其中 k 是任意系数。
理想情况下,我希望在像这样调用 cdist 时将 k 作为参数传递:
d_ar = scipy.spatial.distance.cdist(arr1, arr2, metric=cust_metric(k=7))
但是,这会引发错误。
我想知道是否有一个我可能会丢失的简单解决方案?一个快速但不优雅的解决方法是将 k 声明为全局变量并在需要时对其进行调整。