crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

都道府県別の個人企業経済調査(製造業と卸売業、小売業)のデータ分析5 - R言語のcaretパッケージで簡単クラシフィケーション

Unsplashmicheile dot comが撮影した写真 

www.crosshyou.info

の続きです。今回はR言語でクラシフィケーション分析をしてみようと思います。

まず、caretパッケージの読み込みをします。

2019年と2020年のデータをトレーニング用のデータ、2021年のデータをテスト用のデータにします。

indu: 製造業か、卸売小売業かを被説明変数にして、wageとopを説明変数にしてクラシフィケーション分析をしましょう。

分析する前にwage, op, induを視覚化します。

この散布図を見ると、右下エリアは製造業で、左上エリアは卸売小売業が多いことがわかります。

caretパッケージのウェブページ(6 Available Models | The caret Package (topepo.github.io)を見ると、Generalized Linear Modelとk-Nearest Neighborsの2つのモデルが追加のパッケージがいらないでクラシフィケーションをできるようなので、この2つのモデルをやってみます。

train()という関数でモデルを作ります。

そして、predict()という関数で予測します。

そうしたら、confusionMatrix()という関数で答え合わせができます。

Accuracyの値が正解率です。

glmのモデルの正解率は、71.28%で、

knnのモデルの正解率は、72.34%でした。

glmのモデルの正解数は67個、knnのモデルの正解数は68個でしたので、knnのモデルのほうが1個だけ多く正解しました。

今回は以上です。

次回は、

www.crosshyou.info

です。

初めから読むには、

www.crosshyou.info

です。

 

今回使用した関数は

library() --- caretパッケージの読み込みに使用

filter() --- データフレームをフィルター

ggplot() + geom_point() --- 散布図

train() --- モデルを作る

predict() --- 予測する

confusionMatrix() --- 実際のカテゴリーと予測されたカテゴリーの答え合わせ