从不同的脚本获取缩放器转换参数

时间:2017-07-31 12:43:43

标签: python scikit-learn

我在名为“training_net.py”的脚本上创建并保存了一个神经网络。 根据sklearn网站(http://scikit-learn.org/stable/modules/neural_networks_supervised.html#tips-on-practical-use)的建议,我缩放了训练集,并使用相同的缩放器进行测试集。

现在我有一个名为“prediction.py”的脚本,它将参数矢量和在“training_net.py”中创建的神经网络作为输入,并将分类作为输出。

我怀疑是在“prediction.py”中缩放输入。我想我应该使用我在“training_net.py”中使用的相同转换来缩放输入,但我不明白如何从使用的缩放器获取转换参数。

当我做scaler.get_params()时,我只是得到以下信息: {'copy':True,'with_mean':True,'with_std':True}

这是一个小代码提取,以更好地展示我的意思。

training_net.py

#scale training and test data
scaler = StandardScaler()
scaler.fit(training_data)

training_data = scaler.transform(training_data)
test_data = scaler.transform(test_data)

clf.fit(training_data, training_label)
nn_name = "NN.pkl"
joblib.dump(clf, nn_name)

clf = joblib.load(nn_name)
print clf.score(test_data, test_label)

prediction.py

model_name = "NN.pkl"
clf = joblib.load(model_name)

#need to scale input_parameters before predicting!
#?

print clf.predict(input_parameters)

1 个答案:

答案 0 :(得分:0)

正如Vivek Kumar在评论中回答的那样,足以腌制标准缩放器。

joblib.dump(scaler, "scaler.pkl")

在这里您还可以找到我在第一次搜索时找不到的类似问题(和答案): How to store scaling parameters for later use