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

逻辑回归:如何将预测值与阈值比较以完成分类及实现咨询

嘿,看起来你已经在逻辑回归的路上走了一半啦!我来帮你补全代码,并且详细讲讲怎么用阈值来完成分类——这可是逻辑回归里很实用的技巧哦。

逻辑回归中基于阈值完成分类的方法

首先先把你未完成的代码补全,明确目标变量的定义,再完成模型的基础训练:

from sklearn.cross_validation import train_test_split
from sklearn import metrics
from sklearn.linear_model import LogisticRegression  # 别忘导入逻辑回归模型

# 假设你的数据集已经加载到cred_def变量中
X = cred_def[['balance']]
Y = cred_def['default_Yes']  # 目标变量就是default_Yes列

# 拆分训练集和测试集
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state=42)

# 初始化并训练逻辑回归模型
logreg = LogisticRegression()
logreg.fit(X_train, Y_train)

接下来,关于预测值与阈值比较完成分类,逻辑回归有两种常用的实现方式,我们一一拆解:

1. 使用默认阈值(0.5)自动分类

LogisticRegression的predict()方法会自动以0.5作为判断阈值:当模型预测的正类(也就是default_Yes=1)概率≥0.5时,就将样本分类为1,否则为0。用法非常直接:

# 直接生成默认阈值下的分类结果
y_pred = logreg.predict(X_test)

你可以用metrics.accuracy_score(Y_test, y_pred)来快速评估这个默认阈值下的分类准确率。

2. 自定义阈值进行分类

如果你的数据集存在不平衡(比如违约样本极少),或者有特定业务需求(比如想尽可能捕捉所有违约样本),就需要自定义阈值。这时候要先获取模型输出的概率,再手动和阈值比较:

步骤1:获取正类的预测概率

用predict_proba()方法可以拿到每个样本的负类(0)和正类(1)概率,返回的是二维数组,我们只需要提取正类概率:

# 提取正类(default_Yes=1)的预测概率
y_pred_proba = logreg.predict_proba(X_test)[:, 1]

步骤2:基于自定义阈值生成分类结果

比如你想把阈值设为0.3(只要模型判断违约概率≥30%就标记为可能违约),可以这样做:

custom_threshold = 0.3
# 把布尔值转成整数(True→1,False→0)
y_pred_custom = (y_pred_proba >= custom_threshold).astype(int)

之后你可以用精确率、召回率这类更贴合业务的指标,来评估自定义阈值下的分类效果,比如metrics.recall_score(Y_test, y_pred_custom)。

3. 怎么选合适的阈值?

如果不确定该用什么阈值,可以画ROC曲线来辅助决策:

import matplotlib.pyplot as plt

# 计算ROC曲线的关键参数
fpr, tpr, thresholds = metrics.roc_curve(Y_test, y_pred_proba)
roc_auc = metrics.auc(fpr, tpr)

# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, label='ROC curve (area = %0.2f)' % roc_auc)
plt.plot([0, 1], [0, 1], 'k--')  # 随机猜测的基准线
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.05])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()

ROC曲线上的每个点都对应一个阈值,你可以根据自己的需求(比如希望假阳性率尽可能低,或者真阳性率尽可能高)来挑选最合适的那个。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:50:04