在Sciki中保存交叉验证训练模型

2024-05-09 05:09:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Cross-ValidationNaive Bayes分类器在scikit-learn中训练了一个模型。如何将此模型持久化以在以后针对新实例运行?

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

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

Tags: 实例模型numpydata分类器scikitlearn分数
1条回答
网友
1楼 · 发布于 2024-05-09 05:09:10

交叉价值评估分数不会改变你的估计值,也不会返回拟合估计值。它只返回交叉验证估计量的得分。

为了适应您的估计器,您应该使用提供的数据集显式地调用fit。 要保存(序列化)-可以使用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)

相关问题 更多 >