【发布时间】:2015-02-13 06:55:04
【问题描述】:
我正在尝试在 python 中使用 pickle 保存 SVR 模型。但是,在第一次尝试时引发了 ValueError:
ValueError: pickle protocol must be <= 2
我试图通过显式传递一个参数来解决这个错误:
s = pickle.dumps(w, open('svm.p', 'wb'), protocol=pickle.HIGHEST_PROTOCOL)
但我现在收到一个 TypeError:
TypeError: dumps() got multiple values for keyword argument 'protocol'
据我所知,我的代码与其他示例进行比较并通读文档时很好,但我无法解决此错误。只要保存的模型可以跨工作站传输,我很乐意通过另一种方法保存模型。以下是相关代码:
import pickle
w = svm.SVR(kernel='rbf', C=1e6, gamma=0.00000008, max_iter=-1, cache_size=4096)
w.fit(X, Y)
s = pickle.dumps(w, open('svm.p', 'wb'), protocol=pickle.HIGHEST_PROTOCOL)
X 和 Y 是长度为 17520 的向量,X 对于每个元素都有一个包含 6 个数据点的列表。例如。 X[0] = [0, 1, 6239.0, 6709.375, 6462.0, 6774.75] 和 Y[0] = 6391.0
【问题讨论】:
标签: python scikit-learn svm pickle