我正在尝试计算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会给出满意的结果,还是应该考虑其他算法?
任何建议都会非常感激。
答案 0 :(得分:0)
相似性度量是一种启发式算法,用于捕获两个数据行之间的关系,涉及数据语义和训练目的。我们不知道您的数据;我们不知道你的用法。当我们不知道我们正在解决什么问题时,建议用于解决问题的指标是不负责任的。
您必须向镜像中找到的人提出此问题。你给了我们三个功能,不知道它们的含义或它们的相关性。你需要量化......
功能内的相对距离:在 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);实际差异可能是比率,平方差等。再次,这取决于这些标签背后的语义。
要素之间的相对权重:各列中的差异如何组合以提供相似性?例如,d([A,10],[B,20])与d([A,10],[C,30])相比如何?这是左栏中的两个字母,右栏中的两个10。 d([A,10],[A,20])vs d([A,10],[B,10])怎么样?距离是线性的,或者当我们向上滑动字母表或更高的数字时,关系会发生变化吗?