前回までの記事で我が家の電気使用量について、sklearn のlinear modelでの予測モデルの作成について紹介しました。必ずしも目的変数と説明変数の設定が良いものではないので、linear modelでは良い結果は得られませんでした。
それでは他のmodelではどうかということで、下記の記事を参考にsklearn で検討可能な回帰モデルを片っ端から検討してみました。
まずは、記事を参考にライブラリーのインポートを行います。
続いて、インポートしたモデルの条件設定です。実際はそれぞれのモデルで様々なハイパーパラメーターの設定ができるかと思いますが、今回は網羅的に行うため、上記記事を参考にごく一般的なものとしています。
続いて、モデル検討条件の設定と学習用データの読み込みです。学習データの読み込みと前処理は前回までの検討と同様です。
データの読み込み、前処理が終了したら、実行準備としてデータ格納用のリストを作成しておきます。
いよいよ実施モデル作成ですが、複数のトライアルを行うので、その部分をfor 文で作成しておきます。続いて、それぞれのモデルについて予め辞書型で設定しておいた条件を読み込み、モデル作成を行います(reg.fit)。得られたモデルの評価としてR2、MSE, RMSEを算出し、それぞれのリストに追加しています。
続いて、算出したそれぞれのトライアルの数値の平均値を算出した上で、作成モデルの代表値としてリストに格納し、それぞれの結果を表示しています。
上記は休日データでのモデル作成でしたが、以下のコードで平日データも同様に処理しています。
以下が上記コードを実施した結果になります(休日)が、訓練データではR2値でそれなりの数値がでているものもありますが、テストデータでは使えそうなモデルと思えるデータは残念ながらありませんね(笑)。目的変数と説明変数の設定があまりよろしくないというところかと思います。
以上、sklearn でのモデル作成の検討でした。