【R】決定木について勉強してみた

      2015/08/25

聞いたことはあったものの手をつけたことがなかったので勉強してみました。
決定木の意味も調べてみました。

機械学習の分野においては決定木は予測モデルであり、ある事項に対する観察結果から、その事項の目標値に関する結論を導く。内部節点は変数に対応し、子節点への枝はその変数の取り得る値を示す。 葉(端点)は、根(root)からの経路によって表される変数値に対して、目的変数の予測値を表す。
データから決定木を作る機械学習の手法のことを決定木学習、あるいはくだけた言い方では単に決定木と呼ぶ。

決定木 - Wikipedia

今回の勉強においては以下のサイトを参考にされて頂きました。

決定木 – 分類木 | トライフィールズ

さっそくRで試してみます。

まずは適当にデータフレームを作成してみます。

ある商品の購入の有無と、年齢、性別、ファッションタイプの関係を調べてみます。

> #データ作成
> Buy <- sample(c("Yes","No"), size = 100, replace =TRUE)
> Age <- sample(c("Adult","Child"), size = 100, replace =TRUE)
> Sex <- sample(c("Male","Female"), size = 100, replace =TRUE)
> Fashion <- sample(c("Classic", "Modest", "Street"), size = 100, replace =TRUE)
> df <- data.frame(Buy, Age, Sex, Fashion)

> head(df)
  Buy   Age    Sex Fashion
1  No Child   Male Classic
2 Yes Adult Female  Street
3  No Child   Male Classic
4 Yes Child Female  Modest
5 Yes Child Female  Modest
6  No Child Female  Modest

この商品の購入は何に起因するのか調べてみます。

#パッケージインストール
library(rpart)
library(partykit)

#決定木分析
ct <- rpart(Buy ~ Age + Sex + Fashion, data = df, method = "class")
plot(as.party(ct))

Rplot01

控えめ/ストリート系のファッションの男は年齢に大人子どもに関係なく売れて、女性でも子供だと購入率が高いようです。クラシックな格好をした人はあまり手に取らない商品だということがわかります。

全然この商品が何なのかよくわかりませんが、とても面白い分析ですね。

おすすめ記事

1
2016年買って良かったモノを紹介します!

2016年もあとわずか。毎年恒例の買って良かったモノシリーズ、2016年版を紹介 ...

2
英語ができなかった僕がバイリンガルになるまでの5つの英語上達プロセス

英語ができなかった僕がバイリンガルと呼ばれるようになるまでに経験した過程を5つに分けて紹介します。

 - 統計学