当尝试使用jaccard_similarity_score时,我得到的结果是 "弃用警告:jaccard_similarity_score已被弃用,并被jaccard_score取代。它将在0.23版本中被移除。这个实现对于二进制和多类分类任务有令人惊讶的行为。"
Jaccard相似度分数的经典解释与被废弃的jaccard_similarity_score的输出相匹配。
然而,jaccard_score和jaccard_similarity_score的结果是不同的(即使尝试不同的参数,如图所示)。
from sklearn.metrics import jaccard_similarity_score, jaccard_score
y_pred = [0,1,0,1,0,0,0,1,0,1]
y_true = [0,0,0,1,0,1,0,1,0,0]
print("jaccard_similarity_score=",jaccard_similarity_score(y_true, y_pred),'\n')
for param in ['weighted', 'micro', 'macro']:
print(param, " jaccard_score=", jaccard_score(y_true, y_pred, average=param))
这就是上面代码的输出。
jaccard_similarity_score= 0.7
weighted jaccard_score= 0.5575
micro jaccard_score= 0.5384615384615384
macro jaccard_score= 0.5125
有没有一个选项可以让结果相同?新的jaccard_score是否如预期的那样工作?
正如你所看到的 https:/github.comscikit-learnscikit-learnbloba5d4c61sklearnmetricsclassification.py#L311。
jaccard_similarity_score其实是计算准确性的。
所以,其实。jaccard_similarity_score
在这里不是一个好的功能。