繁体   English   中英

错误的欧几里得距离 H2O 计算 R

[英]Wrong Euclidean distance H2O calculations R

我使用 H2O 和 R 来计算 2 个 data.frames 之间的欧几里德距离:

set.seed(121)

#create the data
df1<-data.frame(matrix(rnorm(1000),ncol=10))
df2<-data.frame(matrix(rnorm(300),ncol=10))
#init h2o
h2o.init()

#transform to h2o
df1.h<-as.h2o(df1)
df2.h<-as.h2o(df2)

如果我使用正常计算,即第一行:

distance1<-sqrt(sum((df1[1,]-df2[1,])^2))

如果我使用 H2O 库:

distance.h2o<-h2o.distance(df1.h[1,],df2.h[1,],"l2")

print(distance1)
print(distance.h2o)

distance1 和 distance.h2o 不一样。 有人知道为什么吗? 谢谢!!

好像h2o.distance计算平方和,没有取平方根:所以取平方根就可以得到标准结果。

distance.h2o <- h2o.distance(df1.h[1,],df2.h[1,],"l2") 
sqrt(distance.h2o)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM