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

运行BangloreHomePrices项目遇sklearn模块NotFoundError错误求助

解决sklearn.linear_model.base模块找不到的问题

这个错误是因为旧版本scikit-learn序列化的模型,在1.2.0版本中模块结构发生了变化,找不到原路径的模块导致的。以下是几个可行的解决办法:

方案1:安装与模型序列化匹配的scikit-learn版本

  • 该项目的模型通常是用scikit-learn 0.23.x或更早版本训练保存的,直接在Anaconda环境中指定版本安装:
    conda install scikit-learn=0.23.2
    
  • 若conda安装报错,改用pip安装:
    pip install scikit-learn==0.23.2
    
  • 安装完成后重启PyCharm,重新加载解释器后运行代码。

方案2:重新训练模型(推荐)

直接在当前1.2.0环境中重新生成适配的模型:

  • 找到项目中的训练脚本(如banglore_home_prices.ipynb或train.py)
  • 完整运行训练流程,生成新的模型文件
  • 替换原有的banglore_home_prices_model.pickle文件
  • 新生成的模型完全适配当前环境,不会有模块路径问题,还能利用新版本特性。

方案3:临时模块路径映射(不推荐长期使用)

如果不想改动版本或重新训练,可手动添加模块映射兼容:
在加载pickle的代码前插入以下代码:

import sys
from sklearn.linear_model import _base
sys.modules['sklearn.linear_model.base'] = _base

之后再执行pickle.load(f)加载模型,此方法仅为临时兼容,可能存在版本差异导致的潜在问题。

解决版本更新报错的问题

若更新scikit-learn时持续报错,可尝试:

  • 清理conda缓存:
    conda clean --all
    
  • 创建全新Anaconda环境,从头安装依赖:
    conda create -n banglore_prices python=3.8
    conda activate banglore_prices
    conda install scikit-learn=1.2.0 pandas numpy
    
  • 在PyCharm中切换到这个新环境作为解释器。

内容的提问来源于stack exchange,提问作者S.Ansari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:55:35