www.crosshyou.info

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

UCI の Adult データの分析6 - R の rpart パッケージで決定木での分類 (Classification)

Generated by Bing Image Creator: 遠くの空からの風景写真。牧場に牛が数頭いる。可愛い青い花がたくさん咲いている。

www.crosshyou.info

の続きです。

今回は R の rpart パッケージで決定木の方法で分類に挑戦してみたいと思います。
まず、rpart, rpart.plot パッケージを読み込みします。

rpart では、glmnet や FNN と違いデータフレームを使うので、トレーニング用のデータフレームとテスト用のデータフレームを作成します。

これで準備完了です。まず、raprt 関数で最初の決定木をつくります。

rpart のパラメータは、cp(complexity parameter) というもので、決定木をどれだけ複雑にするかのパラメータです。

この cp と 決定木の予測の誤差、xerror をグラフにしてみます。

最適な cp を確認します。

この最適な cp の水準で作成した決定木を剪定して、最終モデルにします。

この fit_rpart をグラフにしてみます。

けっこう多く枝分かれしていますね。

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

あら、エラーメッセージが出てしまいました。native_country には新しい水準があります、と出ました。しかたないので、native_country を削除してやり直します。

こんどはエラーメッセージがでませんでした。

予測結果をみてみましょう。

正解率は、86% でした。

glmnet パッケージでの Elastic-Net Regression や FNN パッケージでの k-nearest neighbors よりも高い正解率となりました。

今回は以上です。

初めから読むには、

www.crosshyou.info

です。