在存储使用 sklearn 训练的分类器时,我可以在 pickle(或 cPickle)和 joblib.dump() 之间进行选择。
除了性能之外,使用 joblib.dump() 有什么好处吗?用 pickle 保存的分类器会产生比用 joblib 保存的分类器更差的结果吗?
在存储使用 sklearn 训练的分类器时,我可以在 pickle(或 cPickle)和 joblib.dump() 之间进行选择。
除了性能之外,使用 joblib.dump() 有什么好处吗?用 pickle 保存的分类器会产生比用 joblib 保存的分类器更差的结果吗?
它们实际上使用相同的协议(即joblib 使用pickle)。查看文档joblib.dump
- 您可以使用 joblib 的参数指定 pickle 压缩级别。
joblib 特别适用于 sklearn 使用的 NumPy 数组,因此根据您使用的分类器类型,您可能会在使用 joblib 时获得性能和大小优势。
否则,pickle 确实可以正常工作,因此无论您使用哪个序列化库,保存经过训练的分类器并再次加载它都会产生相同的结果。另请参阅有关此主题的 sklearn 文档。
请注意,joblib 包含在 sklearn 中。