gpt4 book ai didi

python - 在 Python 中比较排名列表

转载 作者:太空宇宙 更新时间:2023-11-04 05:19:26 27 4
gpt4 key购买 nike

我有 50 种产品。对于每个产品,我想使用相似性度量来识别以下四种相关产品。

  • 1 个最相关
  • 2 部分相关
  • 1 不相关

我想将我的模型(预测)生成的排名列表与领域专家(基本事实)指定的排名列表进行比较。

通过阅读,我发现我可以使用基于排名相关性的方法(例如 Kendall Tau/Spearmen)来比较排名列表。但是,我不确定这些方法是否合适,因为我的样本数量很少(4)。如果我错了,请纠正我。

另一种方法是使用 Jaccard 相似度(集合交集) 来量化两个排名列表之间的相似度。然后,我可以根据 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)
  1. 我解决上述问题的方法是否正确?

  2. 如果我想考虑列表中元素的位置(基于权重),我可以使用哪些其他方法?

最佳答案

从您描述问题的方式来看,您似乎也可以为列表中的每个项目分配任意分数 - 例如与“培训”列表中相同等级的相同项目获得 3 分,相同项目但处于不同等级的获得 1 分,或类似的东西。

不过,我不清楚“不相关”项目的作用 - 其他 45 个项目是否都与目标项目同样“不相关”?如果是,您选择哪个项目重要吗?如果“不相关”项目出现在“相关”位置之一,您可能需要从分数中扣分?标准的非参数相关性度量可能无法捕捉到这种微妙之处。

如果出于某种原因使用标准的、基于统计的度量很重要,那么您最好在 Cross Validated 上询问.

关于python - 在 Python 中比较排名列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40800673/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com