Algorithm 两个数据集或数组之间的相似性

Algorithm 两个数据集或数组之间的相似性,algorithm,correlation,similarity,Algorithm,Correlation,Similarity,假设我有一个如下所示的数据集: {A:1, B:3, C:6, D:6} 我还有一个其他集合的列表,用于比较我的特定集合: {A:1, B:3, C:6, D:6}, {A:2, B:3, C:6, D:6}, {A:99, B:3, C:6, D:6}, {A:5, B:1, C:6, D:9}, {A:4, B:2, C:2, D:6} 我的条目可以可视化为一个表(有四列,a、B、C、D和E) 如何找到最相似的集合? 对于本例,第1行是一个完美的匹配,第2行是一个接近的第

假设我有一个如下所示的数据集:

{A:1, B:3, C:6, D:6}
我还有一个其他集合的列表,用于比较我的特定集合:

{A:1, B:3, C:6, D:6},  
{A:2, B:3, C:6, D:6},  
{A:99, B:3, C:6, D:6},  
{A:5, B:1, C:6, D:9},  
{A:4, B:2, C:2, D:6}
我的条目可以可视化为一个表(有四列,a、B、C、D和E)

如何找到最相似的集合? 对于本例,第1行是一个完美的匹配,第2行是一个接近的第二行,而第3行则相当遥远

我正在考虑计算一个简单的增量,例如:
Abs(a1-a2)+Abs(b1-b2)+etc
,可能会得到具有最佳增量的条目的a

这是有效的方法吗?
这个问题叫什么

你的问题让我想起了找工作。基本上,两个对象之间的汉明距离是一个对象中必须更改以使其与另一个对象匹配的元素数。还有类似的措施(等等)

在如何实现这一点上,您有很多选择。例如,{1,3,4}和{1,7,4}1之间的距离是(因为一个元素发生了变化)还是4(因为变化的幅度)?如何定义距离在很大程度上取决于问题的背景,不一定有正确的答案。

“距离”或“相似性”可以指这类问题

正如您所做的那样,简单地计算绝对差之和应该可以很好地工作。这就是所谓的。用数学术语来说,应该是:
∑x∈ (a、b、c、d)防抱死制动系统(x1-x2)

尽管最好的衡量标准实际上取决于你想要什么样的行为

比率可能是一个更好的主意

考虑类似于
1000000,5,5,5
vs
99995,5,5,5
1000000,0,5,5
的情况

根据上述公式,第一个与第二个和第三个具有相同的相似性

如果不希望这样做(因为
99995
可以被视为非常接近
1000000
,而
0
可以被视为非常远离
5
),在计算每个距离时,您应该除以两个距离中的最大值

∑x∈ (a,b,c,d)[Abs(x1-x2)/max(x1,x2)]

这将使每个数字介于0和1之间,即值之间的百分比差

这意味着,对于上面的例子,我们认为<代码> 1000000, 5, 5,5 < /代码>和<代码> 99999,5, 5, 5,5 < /代码>非常相似(因为上述总和将是代码>100000~99999 5)/ 1000000 + 0 + 0 + 0=0 00000</代码>和<代码> >,< <代码> >和<代码>,代码<>将被视为更大的不同。(因为总和将是

|0+5 |/5+0+0+0=1

如果可能出现负值,则需要对公式进行适当更新。您需要根据您试图解决的问题来决定如何处理该问题。
10到0
是否与
5到-5
有或多或少的不同

元件在任何程度上都是可互换的吗? 考虑类似于
A=1,B=2,C=3,D=4
A=4,B=1,C=2,D=3

虽然每个元素都已更改,但集合仍然由
1,2,3,4
组成,每个元素仅移动1个位置(除了
4

对于一些问题来说,这一点都不重要,上述问题与从
A=1,B=11,C=21,D=31
A=2,B=12,C=22,D=32
的问题没有多大区别。但对于其他问题,这可能非常相关

<强>对于字符串或数组的序列,插入、删除或移位元素的想法可能是有意义的。如果是这样的话,你会想看一个常见的元素。你可能还想考虑修改这个值来考虑个别值有多少不同(但这并不微不足道)。


对于像集合这样的东西,元素是可以互换的,但是对元素没有严格的顺序(
{1,2,3}
{3,1,2}
)。如果是这种情况,最简单的方法可能是对值进行排序并使用编辑距离。您还可以以某种方式同时循环两个值,这将使您更容易考虑值之间的差异。

tge值A、B、C和D是否始终保持不变?我将始终使用A、B、C和D列是。它们的检查的值当然会改变,但始终会有4个“列”您将如何解决数千条记录的问题?您是否会将每个记录与另一个记录进行比较,以及存储在哪个DS中以便高效访问?这将是magnitude@Anders我会考虑你建议的方法,或者是那个方法。谢谢纳撒尼尔,我会研究欧几里得距离。我在数学方面不是特别好,所以它意味着很多。g对我建议的解决方案的反馈!:)为什么要划分帮助?@Dukeling让我们假设,如果你有数千个可能是10K的条目,那么你必须在所有10K条目中为每个条目找到最相似的条目(比如5个)。是否循环查找所有条目?