1

我有大约 300,000 条记录,我正在尝试拟合二进制分类解释变量“Requested”。

我使用了以下代码:

require(rpart)
tree <-
  rpart(data=import, method="class",
    formula=Requested ~ 
     p0 + p_r + adow + tk + loy_pres + Sum_Offer_Price
     + Min_Offer_Price + Avg_Offer_Price + Avg_tk_m_p0
     + Min_tk_m_p0 + Avg_p_dis + Min_p_dis)

然而,这棵树非常简单,只有一个分裂(就像一个倒置的 V)。

有谁知道如何使它更复杂?(包括节点上的其他自变量)谢谢!

4

1 回答 1

1

如评论中所述,拆分标准由cp可​​以直接传递给的参数控制rpart

rpart( ..., cp = whatever)

cp:复杂度参数。不会尝试任何不会将整体失配度降低 'cp' 因子的拆分。例如,对于“anova”分裂,这意味着整体 R 平方必须在每一步增加“cp”。这个参数的主要作用是通过修剪明显不值得的分裂来节省计算时间。本质上,用户通知程序任何不能通过“cp”改善拟合的分割都可能会被交叉验证剪除,因此程序不需要继续它。

默认值为cp0.01。您可以不断减小 cp,直到您得到一棵其复杂性符合您喜好的树(当然,这并没有说明该树对新数据的泛化程度;理想情况下,您可以cp通过交叉验证来调整该值)。

minbucket您还可以试验您将在 中看到的值和其他参数?rpart.control

于 2014-06-24T02:11:38.390 回答