classification - 有没有办法优化二进制分类中一个类的高精度?
问题描述
二元交叉熵损失函数优化了准确性,但是如果我只对两个类之一的高精度(而不是 f1)感兴趣怎么办?
解决方案
假设您想使用某种网格搜索 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 的文档。从度量函数定义你的评分策略
推荐阅读
- nginx - 测试我的 nginx 配置。不确定它的工作原理
- ethereum - 带有以太坊客户端的 PoS 机制 - Pantheon
- javascript - 如何使用`return`之外的变量在redux中更新道具?
- python - 如何更新 QWidget 的内容?
- geany - 我可以在 Geany 中为我的代码段创建键绑定吗?
- sql-server - 无法将数据库还原到 RDS 实例
- ruby-on-rails - Rails 向其他容器发送请求 [无法打开 TCP 连接]
- javascript - Javascript Web 音频 API - AudioContext 到 base64
- javafx - Java FX - 当节点到达 0 时重置节点的 translateX 和 translateY
- python - 为什么 Python 中的多个复合语句不能在一行中?