You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中计算平衡逻辑回归模型的精确率、召回率及单值F1分数

解决平衡逻辑回归模型的精确率、召回率及F1分数计算问题

核心问题分析

你当前F1分数输出两个值,是因为默认计算了二分类任务中两类的分数。要得到单值(通常对应正类指标),只需指定目标类别参数;而精确率、召回率可直接用scikit-learn的专用函数计算,无需手动实现。

完整代码实现

假设你已完成模型训练,以下是指标计算与格式化输出的代码:

from sklearn.metrics import precision_score, recall_score, f1_score

# 替换为你的真实标签和预测结果变量
y_true = ... 
y_pred = ...

# 计算正类的精确率、召回率、F1分数(假设正类标签为1,可根据你的数据调整)
precision = precision_score(y_true, y_pred, pos_label=1)
recall = recall_score(y_true, y_pred, pos_label=1)
f1 = f1_score(y_true, y_pred, pos_label=1)

# 按要求格式输出
print(f"precision  {precision:.2f}")
print(f"recall     {recall:.2f}")
print(f"f1_score   {f1:.2f}")

参数说明

  • pos_label: 指定需要计算的正类标签值(比如你的数据中正类是0或1,对应修改即可),确保只输出单类指标值。
  • 若需宏观平均的单值(多分类场景),可替换pos_label=1为average='macro',但平衡逻辑回归通常为二分类,使用pos_label更贴合需求。

现有代码调整建议

如果你之前使用classification_report等函数导致多值输出,直接替换为上述单个指标计算函数即可。注意保证y_true和y_pred的维度与标签取值一致。

内容的提问来源于stack exchange,提问作者kjnk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 23:00:54