このあたりは簡単過ぎて、説明することもないだろう。pickle.load(of)of.close()ここまでで、前回セーブした時点の状態に戻ったはずである。ここから先はChainer:学習進行状況を確認しようで説明したのと同じコードで動作確認ができる。まとめて書いて走らせると、こんな結果が得られた。著、岩波書店)という、とても分かりやすい統計モデリングの入門書を、さらに分かりやすくするために読書メモをまとめたものです。今回は第4章、GLMのモデル選択についてまとめます。この章ではバイアスやAICについて説明がされています。データを説明するモデルとして様々なモデルが考えられる時に、データへのあてはまりの良さだけを基準にモデルを選ぶことはできません。それを理解するために、ポアソン回帰で推定されるパラメータがどれくらい真の値からずれるのかを見るためのコードを用意しました。コードはRで書きました。ポアソン分布から5つのサンプルをサンプリングして、そのデータに対してポアソン回帰をしています。リンク関数は定数です。近い値になるはずです。実際に実行してみると、5個しかサンプルが無いわりには結構正確に推定されるのが分かります。だいたい10回も推定すると、1回くらいは目に見えておかしな推定をするのが分かります。下図のような推定をします。このように、与えられたデータに対して最尤推定するしかない以上、推定は推定でしかなくどうしても真の値からずれてしまいます。Tweet今回は、学習して、その結果をファイルにセーブする。いうDigitsChainクラスのオブジェクトの中に存在するので、このmodelをファイルにセーブすれば良いはずだ。オブジェクトのセーブ、それもあれこれいっぱいデータが入っているはずのオブジェクトはどうやってセーブすれば良いだろうか?Pythonには、オブジェクトをsave/loadするときに、オブジェクトを直列化してsaveするのが流儀であり、そのための仕組みが用意されている。今回は、pickleを利用する。要するに、漬物(=pickle)にしてしまおうという訳だ。詳しい説明はここではしないので、リンクを先を見るなどして自分で学習しよう。open('digitslearnt.pkl','wb')pickle.dump(model,of)of.close()セーブは、たったこれだけで可能になる。直列化してセーブしたデータの拡張子は".pkl"とする。ファイル名とモード(バイナリの書き込みモード)でオープンし、そのファイルオブジェクトをofとしている。次に、pickle.dumpで、セーブしたいオブジェクトと、ファイルオブジェクトを指定することで、ファイルに書き出してくれる。最後にcloseする。