の続きです。
今回はR言語でclassificationをしてみます。logMitsudoの中央値以上の都道府県を1に、以下の都道府県を0とする変数を作り、それを判定します。
まずは上のように、ifelse関数とmedian関数でlogMitsudoが中央値よりも大きかったら1、そうでないなら0をとる変数Mitsuを作成しました。
はじめはlm関数でモデルを作ります。
perIncomeだけが有効な変数ですね。
step関数で単純化したモデルも作成します。
単純化したらperIncomeだけが残りました。
次は、glm関数でロジスティック回帰分析モデルです。
こちらもperIncomeだけが有意です。
step関数で単純化します。
glm関数でもperIncomeだけが残りました。
次は、gam関数でgeneralized additive modelです。mgcvパッケージを読み込んでからgam関数を実行します。
gam関数でperIncomeだけが有意なようです。
tree関数でtree modelを実行します。treeパッケージを読み込んでからです。
tree関数はsummary関数よりもplot関数とtext関数で視覚化したほうがわかりやすいですね。
perIncome, House, Wearが判定に使われています。
svm関数でsupport vector machineです。e1071パッケージを読み込んでからsvm関数を実行します。
こうして分析モデルができましたので、予測します。予測は2006年度のデータを使って予測します。
table関数で結果をみます。
正解率は、
glm1は78.7%
glm2は76.6%
glm1は78.7%
glm2は76.6%
gam1は80.9%
tree1は78.7%
svm1は72.3%
でした。gam関数が一番よかったです。
今回は以上です。