0

subsetsデータ フレームを、trainSet、およびの 2 つに分割しますtestSet。次に、ツリー ライブラリで tree コマンドを使用します。

tree1<-tree(y~., data=trainSet)

次に、testSet を使用してツリー 1 を剪定するとします。

tree2<-prune.tree(tree1, newdata=testSet,best=7)

trainSetただし、 tree2 の計算は、新しいデータ セット ( ) ではなく、元の に基づいていることに気付きましたtestSet

prune.tree コマンドを新しいデータセットで動作させて最適なツリーを選択する方法がわかりません。

4

1 に答える 1

0

を使用するmodel.frameと、これは機能するはずです

tree2<-prune.tree(tree1, newdata=model.frame(testSet),best=7)

cv.treeしかし、トレーニングデータに対して相互検証を行うものを使用して、それを呼び出す方が良いと思いますprune.tree

cv.tree(tree1, , prune.tree)

ここでは、MASS パッケージのfglデータを使用する例を示します。

 data(fgl, package="MASS")
 fgl.tr <- tree(type ~ ., fgl)
 prune.tree(fgl.tr,newdata=model.frame(fgl[1:200,]))
于 2013-02-28T22:09:28.100 に答える