#54 Section10 分類(7)モデルの保存・再利用
さて、せっかく最も性能が良いモデルを見つけたので、それを保存して、またの機会に使えるようにしておきましょう。
pycaretの『save_model』関数を使用し、下記のコードによって、選択したモデル(「best」)を保存することができます。
save_model(選択したモデルの名前, '保存するモデルの名前')
今回は、「my_first_pipeline」という名前で保存します。 「my_first_pipeline」は、現在の作業ディレクトリに、モデルのIDに *.pkl の拡張子が付いたファイル(*pickle形式)として保存されます。これは、後でいつでも利用することができます。
pickle形式のファイルは、path引数で指定した場所、または今回のようにpath引数を省略した場合は現在の作業ディレクトリに保存されます。関数の出力や、ファイルシステムを直接確認することで、保存場所を特定できます。ただし、 pickleファイルはテキスト形式ではなく、コンピュータが効率的にデータを読み書きするためのバイナリ形式で保存されています。そのため、Googleドライブの検索エンジンでは、ファイルの内容をテキストとして解析することが難しく、キーワードで検索することができません。
save_model関数の主なアウトプットは、モデルだけでなく、データの前処理方法全体が一つのパイプラインとして保存されたこと、そしてそのパイプラインに含まれる個々の処理ステップの詳細と、最終的な学習済みモデルの種類とハイパーパラメータ、そして保存されたファイルの名前を示しています。この情報があれば、保存されたパイプラインがどのような処理を行い、どのようなモデルを含んでいるかを後で正確に把握することができます。
モデルの出力にでてくる英語の文章の説明を下記の2枚のスライドにまとめました。
わずか数行で、このような処理をしていたことに驚きです!
「load_model(‘保存したモデル名‘)」を使うと、「my_first_pipeline」という名前で保存したモデルを読み込む(ロードする)ことができます。ここでは、読み込んだモデルを「loaded_best_pipeline」と名付け直しています。
出力は、下図の青い線で囲んだものになります。
この出力の「▶」をクリックすると、読み込んだモデルの詳細な説明が現れます。
これは、 『save_model』関数で保存した際の出力と同じ内容になっています。しばらく時間がたってしまったモデルを使う際は、確認してから使うようにしましょう。
コメント
コメントを投稿