切换标签的F1分数

问题描述 投票:0回答:1

我想使用来自sklearn的多个评估得分(NMI,ARI,F1),使用一些综合数据评估聚类方法。当NMI和ARI正常工作时,我确实遇到了F1得分方面的问题,其中标签被切换,例如,真实标签为[0, 0, 0, 1, 1, 1],预测标签为[1, 1, 1, 0, 0, 0]。对于聚类,这是一个完美的结果,因为两个聚类均已正确识别,仅切换了标签:聚类1的标签为0,反之亦然。 F1分数似乎无法处理,因为我的代码产生的F1分数为0.0。我认为发生这种情况是因为标签的名称/编号不同,但是我无法手动为每个群集切换标签名称,因为这是很多工作的方法,尤其是对于大型数据集,因此是否有更通用的解决方案? >

示例代码:

from sklearn.metrics import f1_score

if __name__ == '__main__':
    labels = [0, 0, 0, 1, 1, 1]
    pred = [1, 1, 1, 0, 0, 0]
    print(f1_score(labels, pred, average='micro')

我想使用来自sklearn的多个评估得分(NMI,ARI,F1),使用一些综合数据评估聚类方法。当NMI和ARI正常工作时,我确实遇到了有关F1的问题...

python scikit-learn metrics
1个回答
0
投票

F1分数的计算方式为:

© www.soinside.com 2019 - 2024. All rights reserved.