gpt4 book ai didi

c# - 在 C# 中实现 jaccard 相似度

转载 作者:行者123 更新时间:2023-12-05 09:21:46 25 4
gpt4 key购买 nike

我试图理解 2 个 double 型数组之间的“Jaccard 相似性”,这些数组的值大于零且小于一。

到目前为止,我已经在很多网站上搜索过这个,但我发现两个数组的大小应该相同(数组 1 中的元素数应该等于数组 2 中的元素数)。但是我在两个数组中有不同数量的元素。有没有办法实现“jaccard 相似度”?

最佳答案

使用 C# 的 LINQ ...

假设您有一个名为 A 的 double 组和另一个名为 B 的 double 组。这将为您提供 Jaccard 索引:

var CommonNumbers = from a in A.AsEnumerable<double>()
join b in B.AsEnumerable<double>() on a equals b
select a;
double JaccardIndex = (((double) CommonNumbers.Count()) /
((double) (A.Count() + B.Count())));

第一个语句获取出现在两个数组中的数字列表。第二个计算索引 - 这只是交集的大小(两个数组中出现的数字数量)除以并集的大小(一个数组的大小,或者更确切地说,一个数组的计数加上另一个数组的计数)。

关于c# - 在 C# 中实现 jaccard 相似度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com