www.crosshyou.infoの続きです。
今回は、linear model, random forest model, genaralized additive model, support vector regression model, tree regression modelのMSEを比較しようと思います。
こんどは、df3_scaledのデータフレームをトレーニング用のデータフレーム(train)とテスト用のデータフレーム(test)に分けて、trainのデータでモデルを作り、testのデータでMSEを計算して比較しようと思います。
はじめにtrainとtestという二つのデータフレームを作ります。
sample関数を使ってランダムに47の都道府県を35と12にわけます。
trainのデータ構造、testのデータ構造をstr関数で確認します。
trainは35個の観測、testは12個の観測になっています。
summary関数でそれぞれのサマリを見てみます。
それでは、今までのようにlm関数、randomForest関数、gam関数、svm関数、tree関数でそれぞれのモデルを作成します。
PopuとYouが有意なデータですね。
単純化したら、Popu, You, Shouだけのモデルになりました。
ランダムフォレストのサマリはあまりよくわからないですね。
gamモデルのR-sq.(adj)が0.897となっていますから、89%の説明力です。
svmのサマリはよくわからないですね。
treeモデルのサマリはMSEが表示されていますね。Residual mean deviance = 0.008797です。
それぞれのモデルが作成できました。
それでは、それぞれのモデルのMSEを計算します。
それでは、結果を見てみましょう。
一番MSEが小さい(優秀)なモデルは、lm2, linear modelで単純化したモデルでした。gamのモデルは他と比べると異常に大きいですね。gamはover fittingだったのかな?
今回は以上です。