我已经使用scikit-learnCross-Validation分类器在Naive Bayes中训练了一个模型。如何保持该模型以在以后针对新实例运行?

这就是我所拥有的,我可以获得CV分数,但我不知道如何访问训练有素的模型

gnb = GaussianNB()
scores = cross_validation.cross_val_score(gnb, data_numpy[0],data_numpy[1], cv=10)

最佳答案

cross_val_score不会更改您的估算器,也不会返回拟合的估算器。它只是返回交叉验证的估计值。

要适合您的估算器-您应该使用提供的数据集明确对其进行调用。
要保存(序列化)它-您可以使用pickle:

# To fit your estimator
gnb.fit(data_numpy[0], data_numpy[1])
# To serialize
import pickle
with open('our_estimator.pkl', 'wb') as fid:
    pickle.dump(gnb, fid)
# To deserialize estimator later
with open('our_estimator.pkl', 'rb') as fid:
    gnb = pickle.load(fid)

关于python - 在Scikit中保存经过交叉验证训练的模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32700797/

10-12 21:44