행렬 곱셈을 사용하여 Jaccard 계수를 계산할 수있는 방법이 있는지 알고 싶습니다.
이 코드를 사용했습니다
jaccard_sim <- function(x) {
# initialize similarity matrix
m <- matrix(NA, nrow=ncol(x),ncol=ncol(x),dimnames=list(colnames(x),colnames(x)))
jaccard <- as.data.frame(m)
for(i in 1:ncol(x)) {
for(j in i:ncol(x)) {
jaccard[i,j]= length(which(x[,i] & x[,j])) / length(which(x[,i] | x[,j]))
jaccard[j,i]=jaccard[i,j]
}
}
이것은 R에서 구현하는 것이 좋습니다. 주사위 유사성 하나를 수행했지만 Tanimoto / Jaccard에 붙어 있습니다. 누구든지 도울 수 있습니까?
vegan
패키지에 구현되어 있다고 지적했습니다 . 나는 그들도 속도에 대해 잘 최적화 된 경향이 있다고 생각합니다.