加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何计算R中两个向量之间不同的众所周知的相似性或距离度量?

发布时间:2020-12-14 04:38:27 所属栏目:大数据 来源:网络整理
导读:我想计算两个向量之间的相似性(距离): v1 - c(1,0.5,0.1)v2 - c(0.7,1,0.2,0.1) 我只是想知道一个包是否可用于计算R中不同的众所周知的相似性(距离)度量?例如,“Resnik”,“Lin”,“Rel”,“Jiang”,…… 这些方法的实现并不难,但我认为它必须在R中的一些
我想计算两个向量之间的相似性(距离):

v1 <- c(1,0.5,0.1)
v2 <- c(0.7,1,0.2,0.1)

我只是想知道一个包是否可用于计算R中不同的众所周知的相似性(距离)度量?例如,“Resnik”,“Lin”,“Rel”,“Jiang”,……

这些方法的实现并不难,但我认为它必须在R中的一些包中定义.

经过一些谷歌搜索,我发现了一个包“GOSemSim”,其中包含大多数测量,但它特定于生物医学应用程序,我不能用它们来计算两个向量之间的相似性.

解决方法

“ proxy”是用于距离和相似性度量的通用库.支持以下方法:

“Jaccard”“Kulczynski1”“Kulczynski2”“Mountford”“Fager”“Russel”“简单匹配”“Hamman”“Faith”
“Tanimoto”“Dice”“Phi”“Stiles”“Michael”“Mozley”“Yule”“Yule2”“Ochiai”
“Simpson”“Braun-Blanquet”“余弦”“eJaccard”“fJaccard”“相关”“卡方”“Phi-squared”“Tschuprow”
“Cramer”“Pearson”“Gower”“Euclidean”“Mahalanobis”“Bhjattacharyya”“Manhattan”“supremum”“Minkowski”
“Canberra”“Wave”“divergence”“Kullback”“Bray”“Soergel”“Levenshtein”“Podani”“Chord”
“Geodesic”“Whittaker”“Hellinger”

请检查以下示例:

x <- c(1,2,3,4,5)
y <- c(4,5,6,7,8)
l <- list(x,y)
simil(l,method="cosine")

输出是“l”元素之间的相似性矩阵:

1
2     0.978232

我遇到的唯一问题是对于某些方法(例如:“Jaccard”),发生以下错误:

simil(l,method="Jaccard")
Error in n - d : 'n' is missing

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读