gpt4 book ai didi

python - ModuleNotFoundError : No module named 'sklearn.preprocessing._data'

转载 作者:行者123 更新时间:2023-12-03 10:08:19 30 4
gpt4 key购买 nike

我的问题类似于 this .

我还使用 pickle 来保存和加载模型。我在 pickle.load( ) 期间遇到以下错误

from sklearn.preprocessing import StandardScaler
# SAVE
scaler = StandardScaler().fit(X_train)
X_trainScale = scaler.transform(X_train)
pickle.dump(scaler, open('scaler.scl','wb'))

# =================
# LOAD
sclr = pickle.load(open('scaler.scl','rb')) # => ModuleNotFoundError: No module named 'sklearn.preprocessing._data'
X_testScale = sclr.transform(X_test)

ModuleNotFoundError:没有名为“sklearn.preprocessing._data”的模块

它看起来像一个 sklearn 版本问题。我的 sklearn 版本是 0.20.3,Python 版本是 3.7.3。

但我在 Anaconda .zip 文件中使用 Python。有没有可能解决这个 没有 更新sklearn的版本?

最佳答案

我与使用 Anaconda 的 StandardScaler 有完全相同的错误消息。

通过运行修复它:

conda update --all

我认为问题是由于在具有较新版本的 scikit-learn 的机器上运行用于创建缩放器文件的 pickle 转储,然后尝试在具有较旧版本的 scikit-learn 的机器上运行 pickle load 引起的。 (它在使用旧版本 scikit-learn 的机器上运行 pickle load 时出现错误,但在使用新版本 scikit-learn 的机器上运行 pickle load 时没有错误。两台 Windows 机器)。也许这是由于更新的版本使用不同的下划线函数命名约定(如上所述)?

Anaconda 不允许我自己更新 scikit-learn 库,因为它声称它需要旧版本(由于某种原因我无法理解)。也许另一个图书馆正在使用它?所以我不得不通过同时更新所有库来修复它,这很有效。

关于python - ModuleNotFoundError : No module named 'sklearn.preprocessing._data' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60305098/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com