首页 > 解决方案 > 有没有办法优化二进制分类中一个类的高精度?

问题描述

二元交叉熵损失函数优化了准确性,但是如果我只对两个类之一的高精度(而不是 f1)感兴趣怎么办?

标签: classification

解决方案


假设您想使用某种网格搜索 CV 调整模型,您需要定义自己的评分函数,这将是您需要的一类的精度。

使用 sklearn 的混淆矩阵,可以通过以下方式计算 0 或 1 的精度:

conf_mat = confusion_matrix(y_test, y_pred)

print("Precision of 0s: {:.2f}".format(conf_mat[0][0]/(conf_mat[:,0].sum())))
print("Precision of 1s: {:.2f}\n".format(conf_mat[1][1]/(conf_mat[:,1].sum())))

然后你需要阅读 sklearn 中关于 3.3.1.2 的文档。从度量函数定义你的评分策略


推荐阅读