我有两个变量,它们包含一个称为a
和b
的300维向量数组。每个向量值的最小值为-10.0
,最大值为10.0
。
我的目标是可视化二维空间中的距离。
在一维中可视化相对容易。我取a
的向量和b
的向量,计算欧几里得距离,就可以在一维上可视化。但是我现在想在x轴和 y轴上显示可视化。
a = [0.1, 0.343423, -2.9008, etc...]
b = [-0.3455, -6.03983, 9.098, etc...]
distance = calculateEuclidean(a, b)
print(distance) # 6.39878 | this is 1 dimension... How to make it 2?
欢迎使用任何编程语言的示例:-)
PS:
我的问题不是关于如何计算欧几里得距离(Stackoverflow充满了它),而是关于如何用二维而不是一维表示它。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以轻松地用R语言进行 通过将2个向量表示为矩阵。
B = matrix(c=(2,3,4,3,8,2)
nrow=3,
ncol=2)
B gives you
[,1] [,2]
[1,] 2 3
[2,] 4 3
[3,] 8 2
v1 = (2,4,8)
v2 = (3,3,2)
您可以使用矩阵标准操作 喜欢换位。深入研究文档。
欧氏距离
rdist 来自软件包 fields
rdist(x1, x2)
给出两个矩阵,以计算距离。
p代表 Minkowski power 。
对于欧几里得使用欧几里得。
rdist(X, metric = "euclidean", p = 2L)
"euclidean": sqrt(sum_i((v_i - w_i)^2))
"minkowski": (sum_i(|v_i - w_i|^p))^{1/p}