www.crosshyou.info

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

都道府県別のパソコン所有数量のデータ分析7 - RのFNNパッケージで、knn(k-Nearest Neighbor) Classification

Generated by Bing Image Creator: Beautiful long view of wild forest, many sunflowers, blue sky and white cloud, photo

www.crosshyou.info

の続きです。

しばらく回帰分析をしていたので、今回は気分を変えてclassificationをやってみましょう。

df_rawのデータフレームには、pref_codeという変数があって、北海道が1、沖縄が47と北から南に番号が割り振られていいますので、1~16, 17~32, 33~47の3つにグループに分けて、この3グループをclassificationしてみましょう。

まず、3つのグループを作ります。

このように、mutate()関数の中で、case_when()関数を使います。

ちゃんとできているかみてみましょう。

oneは1~16, twoは17~32, threeは33~47と上手く分けることができました。

このdf_groupをdf_meanに合体させます。

うまくいきました。group_nameをpc_mean ~ hobby_meanの5つの変数を使って分類してみましょう、ということです。分類の手法はいくつかありますが、まずは、knnでやってみましょう。FNNパッケージのknn()関数を使ってみたいと思います。

それでは、knn()関数を使ってみます。

今回はトレーニングのデータとテストのデータを同じにしています。

knnでの分類の正解率はどのくらいでしょうか?

上の表の10, 10, 8 の対角線の値が正解の数です。

正解率は、(10 + 10 + 8) / 47 = 59.6% でした。

デタラメだったら正解率は33.3% ですから、倍くらいの正解率ですね。

今回は以上です。

次回は、

www.crosshyou.info

です。

初めから読むには、

www.crosshyou.info

です。