の続きです。
今回はR言語のtree関数、gam関数、svm関数でLS(人口が平均値よりも多いか少ないか)を予測してみます。
まず、tree関数を使うためにtreeパッケージを読み込みます。tree関数はregression tree, classification treeモデルの関数です。
tree関数ではカテゴリカル変数でも予測できますから、LSのカテゴリカル変数を作成します。
これでtree関数を作ります。
plot関数とtext関数でtree_1を描いてみます。
per1stが2.2518未満ならLargeということですね。
predict関数で予測します。type = "class"とすると、Large, Smallを返します。
table関数で結果を見てみます。
5個間違いました。正解率は89.4%です。前回のlm関数での予測よりも良いです。
次は、generalized additive modelで予測してみます。mgcvパッケージのgam関数を使います。
plot関数でgam_1を見てみます。
perGDPとper1stはぐにゃぐにゃしています。
このモデルで予測します。
ifelse関数で0.5以上なら1、そうでないなら0にしています。
table関数で結果を見ます。
gamも5個間違いました。正解率は、89.4%です。
最後は、e1071パッケージのsvm関数でsupport vector machineで予測してみます。
まず、library関数でe1071パッケージを読み込みます。
svm関数で予測モデルを作成します。
predict関数で予測します。
table関数で結果を見てみます。
svmも5個間違いなので、正解率は89.4%です。
偶然にもtree関数、gam関数、svm関数の3つとも正解率は89.4%でした。
今回は以上です。