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

LinearRegression预测特征名警告及预测值异常问题问询

解决LinearRegression预测时的特征名警告与异常负预测值问题

问题1:特征名不匹配警告

原因

训练模型时,输入的特征数据x=df[['A']]是带有列名'A'的DataFrame,LinearRegression拟合时会记录特征名信息。而测试用的new_x=pd.DataFrame([0.4])未指定列名,模型检测到特征名不匹配,触发警告。

解决

给测试数据指定与训练数据一致的列名:

new_x = pd.DataFrame([0.4e7], columns=['A'])

问题2:异常负预测值

原因

你误将实际应输入的0.4e7写成了0.4,这个值远低于训练数据中A列的取值范围(从散点图x≥0、y≥0的趋势来看,训练数据的x值应该在0.4e7量级)。线性模型在训练数据范围外做外推时,极易出现不符合数据趋势的结果,因此得到了负预测值。

解决

修正输入的测试值为正确的0.4e7,同时配合上述列名修正,就能得到符合预期的预测结果。

修正后的完整代码

x = df[['A']]
y = df['B']

m = LinearRegression()
m.fit(x, y)

# 修正后的测试数据:指定列名+正确输入值
new_x = pd.DataFrame([0.4e7], columns=['A'])
print(m.predict(new_x))

额外注意事项

  • 处理大数值特征时,可考虑对特征做标准化/归一化处理,能提升模型稳定性,但本次问题核心是输入错误和列名不匹配。
  • 预测前务必确认测试值处于训练数据的取值范围内,避免模型外推导致的不合理结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 10:18:19