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

scikit-learn中LogisticRegression拟合报Unknown label type错误怎么解决

报错修复方案:ValueError: Unknown label type: 'unknown'

该报错的核心原因是sklearn无法识别输入的标签列y的类型,通常由标签列数据类型异常、包含空值、混合类型、或为不符合分类要求的连续数值导致,可按以下步骤排查修复:

  • 第一步:先执行以下代码排查标签列的基础情况
# 查看y整体数据类型
print(y.dtype)
# 查看y的前10条内容
print(y.head(10))
# 查看y的所有唯一值
print(y.unique())
# 检查y是否存在空值
print(y.isna().sum())
  • 第二步:根据排查结果对应修复

场景1:标签为object类型,实际存储的是数字类标签
这种情况大多是数据读入时混入了字符串格式的数字、空格等,直接将标签转换为整数类型即可:

# 若在划分训练集测试集前处理
y = y.astype('int')
# 若已经完成划分,分别处理训练集和测试集标签
y_train = y_train.astype('int')
y_test = y_test.astype('int')

场景2:标签列存在空值
空值占比低的情况下直接删除对应行即可,占比高则需检查数据读取逻辑或按业务规则填充:

# 删除标签为空的对应样本行
X = X[~y.isna()]
y = y[~y.isna()]

场景3:标签为连续浮点数
逻辑回归是分类模型,仅支持离散标签的训练。如果是分类任务需要先对标签做分箱离散化处理;如果是回归类任务,请替换使用LinearRegression等回归模型。
场景4:标签为布尔类型
部分旧版本sklearn对布尔类型标签的识别存在兼容问题,转换为整数类型即可:

y = y.astype('int')
  • 第三步:修复完成后重新执行模型训练代码验证即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:54:05