【发布时间】:2014-01-09 20:58:41
【问题描述】:
问题是我有两个字符串列表。一个列表是另一个列表的近似值,我需要某种方法来测量近似值的准确性。
作为对近似值进行评分的一种临时方法,在根据与字符串对应的数值进行排序后,我将每个列表(近似值和答案)分为 3 个分区(高、中低)。然后我比较近似值中的所有元素,看看字符串是否存在于正确列表的同一分区中。
我将正确分类的字符串数相加,然后除以字符串总数。我知道这是一种非常粗略的方法来衡量估计的准确性,并希望有更好的替代方案可用。这是一项大型工作的一个非常小的组成部分,并且希望不必重新发明轮子。
编辑: 我想我不够清楚。我不需要两个列表完全相等,我需要某种显示列表相似的度量。例如,我们采用的 High-Medium-Low (H-M-L) 方法表明估计的列表足够相似。这种方法的缺点是,如果估计列表中有一个项目位于“高”括号的底部,而在实际列表中,该项目位于中等集合的顶部,则分数算法无法传递。
可能是除了 H-M-L 方法之外,每个分区的底部 20% 与下一个分区的顶部 20% 或类似的东西进行比较。
感谢大家的帮助!!
【问题讨论】:
-
发布一些相关代码而不是描述怎么样?连同输入、输出和预期输出。
-
你能发布你的代码吗??
-
听起来像是一个完整的外连接。差异列表始终是完全外连接。
-
@AnthonyWood 列表的大小是否始终相同?
-
为什么我的代码是相关的?我要求一个新的算法。列表是字符串,因此解决方案对任何字符串都是通用的。输入来自不同的 csv 文件,这些文件被转换为内存矩阵。输出可能是最准确的分数
标签: c# performance list-comparison