2011年11月13日日曜日

Rで決定木を作成する。

Rで決定木を作成してみる。

1、mvpartをインストール.
$ sudo wget http://cran.r-project.org/src/contrib/mvpart_1.4-0.tar.gz
$ sudo tar -xvzf mvpart_1.4-0
$ sudo R
> install.packages("mvpart_1.4-0.tar.gz",destdir=".",repos=NULL)
> library(mvpart)


2、木の基本
① 「read.csv」でデータ読み込んで、「rpart」で木を作る。
② 木には、分類木と回帰木がある。
  分類木は分類、回帰木は数値を返す。
③ 「cp (complexity parameter)」で木の複雑さを表す。
  mvpartのデフォルトでは、CP=0.01
  CPが高いほど、木は単純になるが誤差が大きくなる。
  小さいほど、木は複雑になるが誤差は小さくなる。
  で、誤差が十分小さく、単純な木がほしい。
  最適なCPを図る方法も必要。


3、mvpartを使って、木を作ってみる。
① 偽札のCSVデータ(真偽、下部マージンの長さ、対角線の長さ、)
> nd <- read.csv("nisesatsu.csv",header=T)
> nt <- rpart(真偽~. , data=nd,type="class")
> print(ht)

② 不動産価格のCSVデータ(価格、犯罪率、部屋数、築年数、等)
> hd <- read.csv("house.csv",header=T)
> ht <- rpart(真偽~. , data=hd,type="anova")
> print(ht)

③ 不動産価格のCSVデータ、CP変更
> hd <- read.csv("house.csv",header=T)
> ht <- rpart(真偽~. , data=hd,type="anova", cp=0)
> print(ht)
> ht2 <- prune(ht, cp=0.03)
> print(ht2)

0 件のコメント:

コメントを投稿