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

运行Lasso回归时出现sklearn NotFittedError错误如何解决

Lasso回归NotFittedError报错排查与解决

报错原因

sklearn.exceptions.NotFittedError: 该Lasso实例尚未拟合,请在使用该评估器前传入合适参数调用'fit'方法。

触发报错的直接原因是代码中存在两处逻辑错误:

  • 你初始化了lasso_reg = Lasso(normalize=True)这个新的Lasso实例后,没有调用fit()方法传入训练数据完成模型拟合,直接调用predict()方法进行预测,触发了sklearn的未拟合校验报错。
  • 额外逻辑缺陷:你第一个初始化的lasso实例拟合时错误传入了测试集X_test和y_test,模型拟合应该使用训练集数据,否则会导致数据泄露,失去模型评估的意义。

修复方案

调整模型拟合顺序,所有模型先使用训练集完成拟合后再进行预测/评分操作,修正后的完整代码如下:

from sklearn import datasets
from sklearn.linear_model import Lasso
from sklearn.model_selection import train_test_split

# 加载波士顿数据集
bh = datasets.load_boston()
X = bh.data
y = bh.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 创建Lasso回归实例并拟合训练集
lasso = Lasso(alpha=1.0)
lasso.fit(X_train, y_train)
# 计算模型得分
print(lasso.score(X_test, y_test), lasso.score(X_train, y_train))

# 初始化带normalize参数的Lasso实例,先拟合再预测
lasso_reg = Lasso(normalize=True)
lasso_reg.fit(X_train, y_train)
y_pred_lass = lasso_reg.predict(X_test)
print(y_pred_lass)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 13:36:07