二进制交叉熵损失函数针对精度进行了优化,但是如果我只对具有两类之一的高精度(而不是f1)感兴趣呢?
答案 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。通过指标函数定义评分策略