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

使用逻辑回归二分类时accuracy_score报错问题求助

解决逻辑回归二分类中accuracy_score的类型不匹配报错

这个报错的核心原因是**y_pred是连续值(比如概率),而y_test是二进制类别标签(0/1)**,accuracy_score要求两者都是类别标签类型,无法处理混合类型的输入。

解决方法分两种情况:

情况1:直接获取类别标签

如果你之前用了predict_proba()获取概率值,换成predict()方法直接输出类别标签即可:

from sklearn.metrics import accuracy_score
# 替换成predict()得到类别
y_pred = model.predict(X_test)
print("Accuracy : ", accuracy_score(y_test, y_pred))

情况2:将概率值转换为类别标签

如果已经得到了概率输出,手动设置阈值(通常用0.5)把连续概率转成0/1的类别:

from sklearn.metrics import accuracy_score
# 获取第二类的概率(假设你的正类是1)
y_pred_proba = model.predict_proba(X_test)[:, 1]
# 阈值转换为类别
y_pred = (y_pred_proba >= 0.5).astype(int)
print("Accuracy : ", accuracy_score(y_test, y_pred))

额外检查

如果上述方法仍报错,确认y_test的类型:如果它是浮点型(比如0.0/1.0),可以转换为整数类型:

y_test = y_test.astype(int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:30:53