有没有一种方法可以针对二进制分类中的一类的高精度进行优化?

时间:2019-09-13 10:25:05

标签: classification

二进制交叉熵损失函数针对精度进行了优化,但是如果我只对具有两类之一的高精度(而不是f1)感兴趣呢?

1 个答案:

答案 0 :(得分:0)

假设您要使用某种网格搜索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中有关documentation的3.3.1.2。通过指标函数定义评分策略