gpt4 book ai didi

machine-learning - scikit-learn 中多标签模型的得分优于具有二进制标签的相同模型

转载 作者:行者123 更新时间:2023-11-30 09:29:55 26 4
gpt4 key购买 nike

我有一个 scikit-learn 模型,它简化了一点,如下所示:

clf1 = RandomForestClassifier()
clf1.fit(data_training, non_binary_labels_training)
prediction1 = clf1.predict(data_testing)


clf2 = RandomForestClassifier()
binary_labels = label_binarize(non_binary_labels_training, ["a", "b", "c"])
clf2.fit(data_training, binary_labels)
prediction2 = clf2.predict(data_testing)

f1_score1(non_binary_labels_testing, prediction1))
f1_score2(binary_labels_testing, prediction2))

现在,f1_score1 始终优于 f1_score2。换句话说,多类标签的得分比二进制标签(从相同的多类标签生成)要好。有什么原因吗?这是预期的吗?

我有大约 70 个训练和测试文件以及 36 个类(不是上面示例中的三个)。

最佳答案

似乎当您对标签进行二值化时,随机森林可以一次预测多个标签,同时仅预测初始情况下最可能的标签。 F1 分数对此很敏感。

UPD:我错了。我已经测试过它,在我的情况下它总是只返回一个标签,但分数仍然很差。

UPD2:我并没有我想象的那么错。 sum(sum(prediction2)) 似乎小于 len(prediction),因此某些行中应该有 0。

关于machine-learning - scikit-learn 中多标签模型的得分优于具有二进制标签的相同模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26639125/

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