crosshyou

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

都道府県別の個人企業経済調査(製造業と卸売業、小売業)のデータ分析6 - R言語でクラシフィケーション、パラメータをチューニングしてさらに正解率を高める。

UnsplashJonatan Pieが撮影した写真 

www.crosshyou.info

の続きです。

前回はR言語のcaretパッケージで、generalized liner model regressionとk-nearest neighborsの2つの方法でクラシフィケーションをしました。

k-nnはチューニングのパラメータがありましたので、このパラメータをチューニングして、もう少し正解率を上げることができるかどうか、やってみます。

まず、plot()関数で前回のk-nnのモデルのパラメータを確認しましょう。

パラメータのkの数が、5, 7, 9 となるにつれて、Accuracyも上昇しています。

パラメータを9からスタートして増やしていきましょう。

seq()関数で、9, 11, ~~ 19, 21 までの数列を作成して、data.frame()関数でデータフレームにしています。

また、train()関数でモデルを作ります。

predict()関数で予測します。

confusionMatrix()関数で答え合わせをします。

正解率は、98.94%, 1個しか間違えませんでした。

plot()関数でパラメータをみてみます。

k = 9 のときが一番正解率が良かったようです。

今回は以上です。

初めから読むには、

www.crosshyou.info

です。

使用した関数は、

plot() --- モデルのパラメータをグラフにして表示

seq() --- 数列作成

data.frame() --- データフレームを作成

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

predict() --- モデルを使って予測

confusionMatrix() --- 予測値と実際の値の答え合わせ