有名な溶解度のデータセット(1,000件程度)を使った回帰分析のサンプルを動かしてみる。 溶解度(ようかいど、solubility)は「S」という記号で表される。
これはただの回帰分析なのでdeepchemを使う必要もないのであるが、GraphConvModelを使って試している。 予測値と実測値をプロットする。
■100エポックで学習(50秒程度)
■1,000エポックで学習(7分程度)
いずれも正の相関になっているので、良い予測モデルにはなっていると思う。
ーーーー 作成したモデルは保存しておく。
■モデル保存 model = GraphConvModel(n_tasks=1, batch_size=64, uncertainty=False, mode=‘regression’, model_dir=”./model”) model.fit(train_dataset, nb_epoch=epoch_num)
→ modelディレクトリにチェックポイントファイルが生成される。fitの途中で自動保存される。
■モデルの読み込み model = GraphConvModel(n_tasks=1, batch_size=64, uncertainty=False, mode=‘regression’, model_dir=”./model”) model.restore()
→ modelディレクトリから最新のチェックポイントファイルを読み込む。
※deepchemはtensorflowベースなので、中身は普通にsaverでのsaveとrestore。