機械学習

回帰直線を算出するクラスのモデルを保存してみた

これまでこのブログで、回帰直線\(y=ax+b\)を算出するクラスに入力データをあてはめ、\(a\),\(b\)の値を算出するモデルを作成してきたが、このモデルは、ファイルに保存し取り出すことで、再利用することができる。

今回は、入力データの標準化を行い回帰直線を算出するクラスのモデルを保存し取り出してみたので、そのサンプルプログラムを共有する。

前提条件

以下の記事の、入力データを標準化して回帰直線を算出するクラス(OrigRegressionLineStd)の作成が完了していること。

回帰直線を算出するクラスで抽象メソッドを利用してみたPythonにはJavaと同じ「オブジェクト指向」という概念があり、データと処理をまとめた「クラス」を定義し、その「クラス」から「インス...

また、下記記事のAnacondaをインストールしJupyter Notebookを利用できること。

Python開発用のAnacondaをインストールしJupyter Notebookを利用してみた今回は、Pythonを勉強してみたいと思い、Python開発環境を構築してみたので、その手順を共有する。 Python開発用として...

モデルの保存

入力データの標準化を行い回帰直線を算出するクラスのモデルを保存するのは、joblibのdumpメソッドで行える。そのソースコードは、以下の通り。

上記ソースコードの実行結果は、以下の通り。
モデルの保存_1

また、Jupyter Notebook上で、モデルを保存したファイル「origRegressionLineStd.pkl」が作成されたことが確認できる。
モデルの保存_2

保存したモデルの取り出し

保存したモデルの取り出しは、joblibのloadメソッドで行える。そのソースコードは以下の通りで、保存した回帰直線の\(a\),\(b\)の値が復元できていることが確認できる。

上記ソースコードの実行結果は、以下の通り。
保存したモデルの取り出し

要点まとめ

  • モデル(例えば、回帰直線\(y=ax+b\)を算出するクラスに入力データをあてはめ、\(a\),\(b\)の値を算出するモデル)は、ファイルに保存し取り出して再利用することができる。
  • モデルの保存はjoblibのdumpメソッドで、保存したモデルの取り出しはjoblibのloadメソッドで、それぞれ行える。