概况
Jaccard index , 又称为Jaccard相似系数(Jaccard similarity coefficient)用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。
Jaccard系数 - 百度百科
公式
代码案例
public static float jaccard(String a, String b) {if (a == null && b == null) {return 1f;}// 都为空相似度为 1if (a == null || b == null) {return 0f;}Set<Integer> aChar = a.chars().boxed().collect(Collectors.toSet());Set<Integer> bChar = b.chars().boxed().collect(Collectors.toSet());// 交集数量int intersection = SetUtils.intersection(aChar, bChar).size();if (intersection == 0) {return 0;}// 并集数量int union = SetUtils.union(aChar, bChar).size();return ((float) intersection) / (float)union;}
注:SetUtils为org.apache.commons commons-collections4包里的工具类
