ツリー・モデル(決定木、回帰木):R言語

分析に使われる場面

ライブラリとデータの読み込み

  • ライブラリの読み込み
    library(mvpart)
  • データの読み込み
    leisure <- read.table("leisure0.csv",header=T,sep=",")
    summary(leisure)

分類木の作成1

  • rpart()関数による回帰木の作成
  • エントロピーを使って計算する場合
    leisure.tree <- rpart(jisha.c~gend.c+age.c+dwell.c+person.c+repeat.c+
    shizen.c+kaimono.c+bunka.c+sonota.c+budget.c,data=leisure, 
    parms=list(split='information'), method="class")
    summary(leisure.tree)
    plot(leisure.tree)
    text(leisure.tree, use.=T)
  • 分類木のせん定とせん定した回帰木の表示
    printcp(leisure.tree)
    plotcp(leisure.tree)
    leisure.tree.pr <- prune(leisure.tree,cp=0.09)
    plot(leisure.tree.pr)
    text(leisure.tree.pr, use.n=T)
  • 分類木の結果を使った判定(予測)
    leisure.tree.pred <- predict(leisure.tree, newdata=leisure, type="class")
    table(leisure.tree.pred, leisure$jisha.c)

分類木の作成2

  • mvpart()関数による分類木の作成
  • エントロピーを使って計算する場合
    leisure.tree2 <- mvpart(sat1.c~gend.c+age.c+dwell.c+person.c+repeat.c
    +jisha.c+kaimono.c+shizen.c+bunka.c+sonota.c+budget.c,data=leisure, 
    parms=list(split='information'), method="class")
    summary(leisure.tree2)
    printcp(leisure.tree2)
    plotcp(leisure.tree2)
  • 分類木の結果を使った判定(予測)
    leisure.tree.pred2 <- predict(leisure.tree2, newdata=leisure, type="class")
    table(leisure.tree.pred2, leisure$sat1.c)

学習データを使った判別

  • leisureデータを学習データとテストデータに分け、学習データを使って求めた分類木にテストデータを当てはめて判別する。
    leisure.train <- leisure[1:round(nrow(leisure)/2),]
    leisure.test <- leisure[(round(nrow(leisure)/2)+1):nrow(leisure),]
    leisure.tree3 <-  rpart(jisha.c~gend.c+age.c+dwell.c+person.c+repeat.c+
    shizen.c+kaimono.c+bunka.c+sonota.c+budget.c,data=leisure.train, 
    parms=list(split='information'), method="class")
    summary(leisure.tree3)
    plot(leisure.tree3)
    text(leisure.tree3, use.=T)
    plotcp(leisure.tree3)
    leisure.tree3.pr <-  predict(leisure.tree3, newdata=leisure.test, type="class")
    table(leisure.test$jisha.c,leisure.tree3.pr)

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-27 (木) 01:53:59 (3344d)