当前位置:  开发笔记 > 编程语言 > 正文

如何比较两个列表在同一顺序中的程度?

如何解决《如何比较两个列表在同一顺序中的程度?》经验,为你挑选了1个好方法。

我有两个包含相同元素的数组,但顺序不同,我想知道它们的顺序不同的程度.

我试过的方法不起作用.它如下:

对于每个列表,我构建了一个矩阵,该矩阵为每对元素记录它们在列表中是高于还是低于对方.然后我计算了这两个矩阵的皮尔森相关系数.这非常糟糕.这是一个简单的例子:

list 1:
1
2
3
4

list 2:
1
3
2
4

我上面描述的方法产生了这样的矩阵(其中1表示行号高于列,0表示反之亦然):

list 1:
  1 2 3 4
1   1 1 1
2     1 1
3       1
4

list 2:
  1 2 3 4 
1   1 1 1
2     0 1 
3       1
4

由于唯一的区别是元素2和3的顺序,因此应视为非常相似.这两个矩阵的Pearson相关系数为0,表明它们根本没有相关性.我想问题是我正在寻找的不是真正的相关系数,而是一些其他类型的相似性度量.编辑距离,也许?

谁能提出更好的建议?



1> jamesh..:

每个元素的指数差异的均方值.

List 1: A B C D E
List 2: A D C B E

清单2中清单1的每个要素的指数(基于零)

A B C D E
0 3 2 1 4

清单1中清单1的每个要素的指数(基于零)

A B C D E
0 1 2 3 4

区别:

A  B C D E
0 -2 0 2 0

差异方块:

A B C D E
  4   4

平均差异= 8/5.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有