partykit

Author

データサイエンス関連基礎調査WG

Published

August 1, 2025

パッケージの概要

木構造の回帰・分類モデルを表現・要約し可視化するためのパッケージです。

使用例

rpartパッケージにて決定木モデルを構築し、その可視化を行います。データはKyphosisデータ(脊椎矯正手術を受けた子供のデータ)を使用します。

まずはKyphosisデータの各種構造を確認します。

  • Kyphosis:absent(1)…手術後症状が消えた、present(2)…手術後症状が残った
  • Age:手術をした子供の月齢
  • Number:手術に関与する脊椎の数
  • Start:手術を受けた最上部の頸椎の番号
str(kyphosis)
'data.frame':   81 obs. of  4 variables:
 $ Kyphosis: Factor w/ 2 levels "absent","present": 1 1 2 1 1 1 1 1 1 2 ...
 $ Age     : int  71 158 128 2 1 1 61 37 113 59 ...
 $ Number  : int  3 3 4 5 4 2 2 3 2 6 ...
 $ Start   : int  5 14 5 1 15 16 17 16 16 12 ...

rpartで決定木のモデルを生成します。

(rp <- rpart(Kyphosis ~ Age + Number + Start, data = kyphosis))
n= 81 

node), split, n, loss, yval, (yprob)
      * denotes terminal node

 1) root 81 17 absent (0.79012346 0.20987654)  
   2) Start>=8.5 62  6 absent (0.90322581 0.09677419)  
     4) Start>=14.5 29  0 absent (1.00000000 0.00000000) *
     5) Start< 14.5 33  6 absent (0.81818182 0.18181818)  
      10) Age< 55 12  0 absent (1.00000000 0.00000000) *
      11) Age>=55 21  6 absent (0.71428571 0.28571429)  
        22) Age>=111 14  2 absent (0.85714286 0.14285714) *
        23) Age< 111 7  3 present (0.42857143 0.57142857) *
   3) Start< 8.5 19  8 present (0.42105263 0.57894737) *

partykitを使用して、rpartの決定木のモデルをより見やすくすることが出来ます。

plot(as.party(rp))

引数にてtype=’simple’と入力すると、より簡便的なモデル表示となります。

plot(as.party(rp), type = 'simple')