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

如何对LinearRegression使用accuracy_score?出现分类指标报错原因是什么?

报错原因解释

报错直接原因

这个ValueError本质是分类评估指标accuracy_score对输入的真实标签、预测标签的类别匹配度校验失败导致的,具体触发逻辑如下:

  • 你的真实标签y_test经过OrdinalEncoding处理后只有1~6共6个固定类别,scikit-learn会将其识别为标准的多分类(multiclass)目标
  • 线性回归LinearRegression是回归模型,输出的是连续浮点值,哪怕你做了四舍五入、转整数处理,依然可能出现超出1~6范围的预测值(比如预测结果为0.4四舍五入得到0、6.7四舍五入得到7等),这些不在原有标签范围内的值会被识别为「未知目标(unknown targets)」
  • 当accuracy_score同时收到类别完全匹配的多分类真实标签、包含未知类别的预测标签时,就会抛出你遇到的这个错误。

临时修复方案

如果你暂时想保留现有逻辑验证效果,可以在转整数之后加一步截断操作,把预测值限制在1~6的范围内,即可解决报错:

y_pred = np.round(y_pred)
y_pred = y_pred.astype(int)
# 新增截断逻辑
y_pred = np.clip(y_pred, a_min=1, a_max=6)
y_test = np.array(y_test)
print(accuracy_score(y_pred, y_test))

更合理的实现方案

线性回归本身是为回归任务(预测连续值)设计的,并不适合处理有序分类任务,哪怕做截断处理得到的准确率参考价值也很低。你可以直接更换为适配有序分类的模型,比如有序回归模型、随机森林分类器、支持向量分类器等,从根源避免预测值越界的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:54:04