どうもこんばんは。つきたんです。
結構久々のブログになりました。(サボってました・・・)
今回は、pickleを利用してLabelEncoderのclasses_を保存したり、またそれを読み込んだりする方法を書きたいと思います。あ、正確に言えばclasses_の保存というより、LabelEncoderそのものの保存&読込ですね。
プログラムソース
先にソースを貼ります。
pickleによるLabelEncoderの保存
1 2 3 4 5 6 7 8 9 |
import pickle from sklearn.preprocessing import LabelEncoder le_weekday = LabelEncoder() le_weekday = le_weekday.fit(df_calendar.weekday) df_calendar.weekday = le_weekday.transform(df_calendar.weekday) # LabelEncoderの保存 pickle.dump(le_weekday, open('/path/le_weekday.pickle', 'wb')) |
やっていることは「’Sunday’,’Monday’…」のような文字列を「0,1,2…」の数値にエンコードするということです。
最初の1行で「import pickle」し、pickleを使えるようにしています。pickleは特にインストールなしでimportだけすれば使えると思います。
最後の1行でLabelEncoderを保存しています。「’/path/le_weekday.pickle’」のところは好きな場所とファイル名で構いません。「open(…,’wb’)」のところは、こういうものだと思っててください。
pickleによるLabelEncoderの読込
続いてはLabelEncoderの読み込みをしてみます。
1 2 3 |
import pickle le_weekday = pickle.load(open('/path/le_weekday.pickle', 'rb')) |
もし保存したプログラムと同じであれば「import pickle」は必要ありません。プログラムの冒頭にでも書いておくといいでしょう。
「’/path/le_weekday.pickle’」のところは、保存のときと同じ場所を指定してください。
「open(…,’rb’)」のところは、こういうものだと思っててください。
これでうまくいくはずです。
短いですが、以上です。
コメント