gpt4 book ai didi

python - scikits ARI 实现中是否存在错误,或者我对算法的理解是否有缺陷?

转载 作者:行者123 更新时间:2023-11-30 22:01:19 33 4
gpt4 key购买 nike

计算ARI时与 scikit's implementation ,我注意到一个奇怪的情况。对于某些看起来标签上高度一致的列表,ARI 仍然是 0.0 甚至更糟。

我尝试了几种标签,以下是观察到的最奇怪的标签:

from sklearn import metrics as m

labels_true = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
labels_pred = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1]

res = m.adjusted_rand_score(labels_true,labels_pred)

>>> res = 0.0

结果是 0.0,这表明两个列表是完全随机标记的。看着它们,直觉上人们会说这是一个非常好的标签,除了一个列表条目,它是类 0 而不是类 1 的标签。这甚至是一个现实的聚类结果,例如,如果在一个没有噪声的小数据集,并且有一个点被错误地分类为错误(0 类)。

我的问题是:我对“好”标签的理解是否完全错误,或者算法是否可能存在某种错误,甚至未记录的输入限制?

最佳答案

不,又是。

否:实现似乎是正确的,是的:您的理解有缺陷。

调整后的 rand 索引将给定结果与标签的任意随机排列进行比较。 只有比随机结果更好的结果才是好的结果。

现在,如果您查看日期,任何随机排列都将完全相同。因此,正确的调整值为 0:与随机排列一样好。

不过,我确实同意您的评估,即 ARI 不能用于一类问题。因为对于这样的数据,所有排列都是相等的。针对您的问题使用了错误的工具:它是关于比较数据集的分区,并且您没有分区数据......

关于python - scikits ARI 实现中是否存在错误,或者我对算法的理解是否有缺陷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54093596/

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