计算n个实体之间的相似性

时间:2016-11-10 02:29:48

标签: machine-learning similarity data-science cosine-similarity

我正在尝试计算entity_id,type_of_order,total_value描述的n个实体之间的相似性。

数据的示例可能如下所示:

NR  entity_id type_of_order total_value
 1    1           A           10
 2    1           B           90
 3    1           C           70
 4    2           B           20
 5    2           C           40
 6    3           A           10
 7    3           B           50
 8    3           C           20
 9    4           B           50
 10   4           C           80

我的问题是什么是测量entity_id 1和2之间相似性的神方法,例如关于type_of_order和该类型订单的total_value。

简单的KNN会给出满意的结果,还是应该考虑其他算法?

任何建议都会非常感激。

1 个答案:

答案 0 :(得分:0)

相似性度量是一种启发式算法,用于捕获两个数据行之间的关系,涉及数据语义和训练目的。我们不知道您的数据;我们不知道你的用法。当我们不知道我们正在解决什么问题时,建议用于解决问题的指标是不负责任的。

您必须向镜像中找到的人提出此问题。你给了我们三个功能,不知道它们的含义或它们的相关性。你需要量化......

  1. 功能内的相对距离:在 type_of_order 下,任意两次测量之间的关系(距离)是多少?如果我们任意指定d(A,B)= 1,那么什么是d(B,C)? 我们没有任何信息可以帮助您构建它。此外,如果我们给出一些值 c ,那么什么是d(A,C)?在各种流行的指标中,它可以是1 + c,| 1-c |,所有距离都可以是1,或者它可能是其他东西 - 在某些应用程序中甚至超过1 + c。

    即使在最后一栏,我们也不能假设d(10,20)= d(40,50);实际差异可能是比率,平方差等。再次,这取决于这些标签背后的语义。

  2. 要素之间的相对权重:各列中的差异如何组合以提供相似性?例如,d([A,10],[B,20])与d([A,10],[C,30])相比如何?这是左栏中的两个字母,右栏中的两个10。 d([A,10],[A,20])vs d([A,10],[B,10])怎么样?距离是线性的,或者当我们向上滑动字母表或更高的数字时,关系会发生变化吗?