Разница между сохранением классификатора с помощью 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.

Другие вопросы по тегам