【发布时间】:2016-11-25 18:41:54
【问题描述】:
我有 50 种产品。对于每个产品,我想使用相似性度量来识别以下四个相关产品。
- 1 最相关
- 2 部分相关
- 1 不相关
我想将我的模型生成的排名列表(预测)与领域专家指定的排名列表(ground truth)进行比较。
通过阅读,我发现我可以使用基于排名相关性的方法,例如 Kendall Tau/Spearmen 来比较排名列表。但是,我不确定这些方法是否合适,因为我的样本数量很少(4)。如果我错了,请纠正我。
另一种方法是使用Jaccard相似度(set intersection)来量化两个排序列表之间的相似度。然后,我可以从 setbased_list 中绘制直方图(见下文)。
for index, row in evaluate.iterrows():
d= row['Id']
y_pred = [3,2,1,0]
y_true = [row['A'],row['B'],row['C'],row['D']]
sim = jaccard_similarity_score(y_true, y_pred)
setbased_list.append(sim)
我解决上述问题的方法正确吗?
如果我想考虑列表中元素的位置(基于权重),我可以使用哪些其他方法?
【问题讨论】:
-
您为什么要识别出一种不相关的产品?
-
这就像“控制”数据,以确保用户相应排名..
标签: python correlation ranking