2016-04-22 16 views
1

sklearnで訓練されたクラシファイアを保存するときは、pickle(またはcPickle)とjoblib.dump()のどちらかを選択できます。pickleとjoblib.dumpでクラシファイアを保存することの違いは?

joblib.dumpを()を使用してのパフォーマンスから離れてどんなメリットがありますか? pickleで保存されたクラシファイアは、joblibで保存されたものより悪い結果を生成することができますか?

答えて

1

joblibは、sklearnによって使用されるNumPy配列で特にうまく動作します。したがって、使用するクラシファイアのタイプによっては、joblibを使用した場合のパフォーマンスとサイズのメリットがあります。

それ以外の場合、pickleは正常に動作しますので、訓練された分類子を保存してから再度ロードすると、使用する直列化ライブラリに関係なく同じ結果が得られます。参照:the docs of sklearn on this topic.

joblibはsklearnに含まれています。

1

実際には同じプロトコルを使用します(つまり、joblibはpickleを使用します)。 joblib.dumpdocumentationをチェックしてください。picklの圧縮のレベルは、joblibの引数を使って指定できます。

関連する問題