当我试图将应用程序的python版本从2.x升级到3.9时,我得到了以下错误。
ERROR - ModuleNotFoundError: No module named 'sklearn.linear_model.stochastic_gradient'您知道模块'sklearn.linear_model.stochastic_gradient‘在哪个版本中被废弃了,或者我应该使用哪个版本的python3.x来实现向后兼容性?
platform darwin -- Python 3.9.13
pytest-7.1.3
pluggy-1.0.0完整错误日志:
=========================================================================== ERRORS ===========================================================================
_______________________________________________________________ ERROR collecting test session ________________________________________________________________
/usr/local/Caskroom/miniforge/base/lib/python3.9/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1030: in _gcd_import
???
<frozen importlib._bootstrap>:1007: in _find_and_load
???
<frozen importlib._bootstrap>:986: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:680: in _load_unlocked
???
/usr/local/Caskroom/miniforge/base/lib/python3.9/site-packages/_pytest/assertion/rewrite.py:168: in exec_module
exec(co, module.__dict__)
tests/main_app_tests/conftest.py:7: in <module>
import app as app_py
app.py:14: in <module>
from main_app.resources import (mapper,
main_app/resources/mapper.py:3: in <module>
from main_app.common import util
main_app/common/util.py:7: in <module>
from application.util import logger
application/util.py:234: in <module>
models = load_all_models()
data_science/classifier.py:208: in load_all_models
models[id] = load_model(id)
data_science/classifier.py:177: in load_model
clf = load(model_path)
/usr/local/Caskroom/miniforge/base/lib/python3.9/site-packages/joblib/numpy_pickle.py:656: in load
return load_compatibility(fobj)
/usr/local/Caskroom/miniforge/base/lib/python3.9/site-packages/joblib/numpy_pickle_compat.py:231: in load_compatibility
obj = unpickler.load()
/usr/local/Caskroom/miniforge/base/lib/python3.9/pickle.py:1212: in load
dispatch[key[0]](self)
/usr/local/Caskroom/miniforge/base/lib/python3.9/pickle.py:1528: in load_global
klass = self.find_class(module, name)
/usr/local/Caskroom/miniforge/base/lib/python3.9/pickle.py:1579: in find_class
__import__(module, level=0)
E ModuleNotFoundError: No module named 'sklearn.linear_model.stochastic_gradient'
====================================================================== warnings summary ======================================================================发布于 2022-09-28 10:59:23
这是因为实际的模块名是_stochastic_gradient。_前面的模块是私有模块,它们充当标准公共模块的实现。您不应该直接导入这些模块。
要查看sklearn.linear_model下所有模块的列表,可以输入
dir(sklearn.linear_model)将显示私有和公共模块。
在SGDClassifier或SGDRegressor中可以找到随机梯度所需的一切
发布于 2022-09-28 12:43:22
安装如下:pip install scikit-learn --upgrade
https://stackoverflow.com/questions/73880002
复制相似问题