當存儲用sklearn訓練過的分類器時,我可以在pickle(或cPickle)和joblib.dump()之間進行選擇。保存分類器與pickle和joblib.dump之間的區別?
除了使用joblib.dump()的性能,還有什麼好處嗎?由pickle保存的分類器能否產生比使用joblib保存的更差的結果?
當存儲用sklearn訓練過的分類器時,我可以在pickle(或cPickle)和joblib.dump()之間進行選擇。保存分類器與pickle和joblib.dump之間的區別?
除了使用joblib.dump()的性能,還有什麼好處嗎?由pickle保存的分類器能否產生比使用joblib保存的更差的結果?
joblib對於sklearn使用的NumPy數組特別適用,因此取決於使用的分類器類型,使用joblib可能會有性能和大小方面的好處。
否則pickle會正常工作,因此無論您使用哪個序列化庫,保存經過訓練的分類器並重新加載它都會產生相同的結果。另請參閱docs of sklearn on this topic.
請注意,joblib包含在sklearn中。
他們實際上使用相同的協議(即joblib使用泡菜)。查看documentation的joblib.dump
- 您可以使用參數joblib指定pickle壓縮級別。