【发布时间】:2019-09-13 19:21:22
【问题描述】:
我在 Python 2.7 中使用 https://github.com/inspirehep/magpie 训练了多标签分类模型。
现在我正在尝试在 Python 3.5 中移植相同的内容。
要移植,需要 Word2Vec Embedding、Scaler 和 Keras 模型移植到 Python 3.5。
词嵌入和 Keras 模型移植良好。
我正在使用 StandardScaler。我在 Python 2.7 中对它进行了腌制,并在 Python 3.5 中将其解封 解压就好了。
当我在 Python 3.5 中运行预测时,出现以下错误:
sklearn.exceptions.NotFittedError:此 StandardScaler 实例尚未安装。在使用此方法之前,使用适当的参数调用“fit”。
Python 2.7:
scaler_path = 'path to file ......'
pickle.dump(scaler_obj, open(scaler_path, 'wb'))
Python 3:
from sklearn.preprocessing import StandardScaler
scaler_path = 'path to file ......'
loaded_scaler = pickle.load(open(scaler_path, 'rb'),encoding='bytes')
sklearn.exceptions.NotFittedError:此 StandardScaler 实例尚未安装。在使用此方法之前,使用适当的参数调用“fit”。
【问题讨论】:
-
不推荐这样做,可能会产生意想不到的影响。一个合适的
StandardScaler只学习了 4 个属性(它们是 numpy 数组)。您可以保存这些并将它们设置为新的StandardScaler。您在保存时使用了哪个版本的 scikit-learn?当前的 scikit-learn 版本是否相同?无论如何,错误似乎与此无关。显示错误的完整堆栈跟踪和完整代码
标签: python scikit-learn