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