R でデシジョン ツリーを描画する方法 (例付き)
機械学習において、デシジョン ツリーは、一連の予測子変数を使用して応答変数の値を予測するデシジョン ツリーを作成するモデルの一種です。
R でデシジョン ツリーをプロットする最も簡単な方法は、 rpart.plotパッケージのprp()関数を使用することです。
次の例は、この関数を実際に使用する方法を示しています。
例: R で決定木を描画する
この例では、 ISLRパッケージのHittersデータセットを使用します。これには、263 人のプロ野球選手に関するさまざまな情報が含まれています。
このデータセットを使用して、ホームランと出場年数を使用して特定の選手の年俸を予測する回帰ツリーを構築します。
次のコードは、この回帰ツリーを当てはめる方法と、 prp()関数を使用してツリーを描画する方法を示しています。
library (ISLR) library (rpart) library (rpart.plot) #build the initial decision tree tree <- rpart(Salary ~ Years + HmRun, data=Hitters, control=rpart. control (cp= .0001 )) #identify best cp value to use best <- tree$cptable[which. min (tree$cptable[," xerror "])," CP "] #produce a pruned tree based on the best cp value pruned_tree <- prune (tree, cp=best) #plot the pruned tree prp(pruned_tree)
prp () 関数のfaclen 、 extra 、 roundintおよびDigits引数を使用して、デシジョン ツリーの外観をカスタマイズすることもできることに注意してください。
#plot decision tree using custom arguments
prp(pruned_tree,
faclen= 0 , #use full names for factor labels
extra= 1 , #display number of observations for each terminal node
roundint= F , #don't round to integers in output
digits= 5 ) #display 5 decimal places in output
ツリーには 6 つの終端ノードがあることがわかります。
各ターミナル ノードには、そのノード内のプレーヤーの予測年俸と、そのレーティングに属する元のデータセットからの観測値の数が表示されます。
たとえば、元のデータセットには、経験が 4.5 年未満のプレーヤーが 90 人いて、平均給与が$225.83,000であることがわかります。
また、ツリーを使用して、経験年数と平均ホームランに基づいて特定のプレーヤーの年俸を予測することもできます。
たとえば、7 年の経験と平均 4 本塁打の選手の期待年俸は502.81,000 ドルです。
これは、デシジョン ツリーを使用する利点の 1 つです。結果を簡単に視覚化して解釈できるのです。
追加リソース
次のチュートリアルでは、デシジョン ツリーに関する追加情報を提供します。
分類ツリーと回帰ツリーの概要
デシジョン ツリーとランダム フォレスト: 違いは何ですか?
R で分類木と回帰木を当てはめる方法