如何在R中使用CART模型按线性组合拆分预测变量而非单个预测变量?

4
分类和回归树(由Breiman等人提出)提到了在分裂节点时使用预测变量的线性组合。我曾试图在R中实现这一点,但未能成功。

虽然有tree或rpart包可以假设在单变量预测上进行分裂,但它们不允许使用线性组合进行自定义。我需要创建自己的软件包吗?


你想让模型为你决定线性组合来进行分割,还是只想能够在线性组合上进行分割?如果是后者,你可以自己构建线性组合并对其进行CART。我之前尝试过在PCA得分上进行CART。 - Dason
1个回答

5

我之前没有使用过,但你可以看看CRAN上的oblique.tree .

?oblique.tree中的示例实际上是将PCA输出添加到协变量中。

data(crabs, package = "MASS")
aug.crabs.data <- data.frame(   g=factor(rep(1:4,each=50)),
                predict(princomp(crabs[,4:8]))[,2:3])

产生的数据如下所示:

enter image description here

其中协变量是第二和第三个主成分。然后可以显然拟合一个决策树,该决策树在这些变量的线性组合上进行分割。
ob.tree <- oblique.tree(formula     = g~.,
            data        = aug.crabs.data,
            oblique.splits  = "only")
plot(ob.tree)
text(ob.tree,cex = 0.5)

enter image description here


我没有听说过那个,但它听起来像是保罗想要的功能。 - Dason

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接