Разница между сохранением классификатора с помощью pickle и joblib.dump?
При хранении классификатора, обученного с помощью sklearn, у меня есть выбор между pickle (или cPickle) и joblib.dump().
Есть ли какие-либо преимущества помимо производительности для использования joblib.dump()? Может ли классификатор, сохраненный с помощью pickle, дать худшие результаты, чем классификатор, сохраненный с помощью joblib?
2 ответа
joblib особенно хорошо работает с массивами NumPy, которые используются sklearn, поэтому в зависимости от типа используемого вами классификатора вы можете получить преимущества в производительности и размере, используя joblib.
В противном случае pickle работает правильно, поэтому сохранение обученного классификатора и его повторная загрузка приведут к одним и тем же результатам независимо от того, какую библиотеку сериализации вы используете. Смотрите также документы по склеарну на эту тему.
Обратите внимание, что joblib включен в sklearn.
Они на самом деле используют один и тот же протокол (то есть JobLib использует Pickle). Проверьте документацию для joblib.dump
- Вы можете указать уровень сжатия рассола, используя аргументы для joblib.