www.crosshyou.info

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の食料費・住居費・被服及び履物費のデータ分析6 - R言語でclassification

 

www.crosshyou.info

 の続きです。

今回はR言語でclassificationをしてみます。logMitsudoの中央値以上の都道府県を1に、以下の都道府県を0とする変数を作り、それを判定します。

f:id:cross_hyou:20200507133709j:plain

まずは上のように、ifelse関数とmedian関数でlogMitsudoが中央値よりも大きかったら1、そうでないなら0をとる変数Mitsuを作成しました。

はじめはlm関数でモデルを作ります。

f:id:cross_hyou:20200507133856j:plain

perIncomeだけが有効な変数ですね。

step関数で単純化したモデルも作成します。

f:id:cross_hyou:20200507134006j:plain

単純化したらperIncomeだけが残りました。

次は、glm関数でロジスティック回帰分析モデルです。

f:id:cross_hyou:20200507134122j:plain

こちらもperIncomeだけが有意です。

step関数で単純化します。

f:id:cross_hyou:20200507134228j:plain

glm関数でもperIncomeだけが残りました。

次は、gam関数でgeneralized additive modelです。mgcvパッケージを読み込んでからgam関数を実行します。

f:id:cross_hyou:20200507134400j:plain

gam関数でperIncomeだけが有意なようです。

tree関数でtree modelを実行します。treeパッケージを読み込んでからです。

f:id:cross_hyou:20200507134527j:plain

tree関数はsummary関数よりもplot関数とtext関数で視覚化したほうがわかりやすいですね。

f:id:cross_hyou:20200507134742j:plain

f:id:cross_hyou:20200507134754j:plain

perIncome, House, Wearが判定に使われています。

 

svm関数でsupport vector machineです。e1071パッケージを読み込んでからsvm関数を実行します。

f:id:cross_hyou:20200507134935j:plain

こうして分析モデルができましたので、予測します。予測は2006年度のデータを使って予測します。

f:id:cross_hyou:20200507135059j:plain

table関数で結果をみます。

f:id:cross_hyou:20200507135235j:plain

f:id:cross_hyou:20200507135247j:plain

正解率は、

glm1は78.7%

glm2は76.6%

glm1は78.7%

glm2は76.6%

gam1は80.9%

tree1は78.7%

svm1は72.3%

でした。gam関数が一番よかったです。

今回は以上です。