在用于创建CART模型的rpart()例程中,指定要将树修剪到的复杂度参数。对于选择复杂度参数,我看到了两种不同的建议:
选择与最小可能的交叉验证错误关联的复杂性参数。Quick-R和HSAUR 建议使用此方法。
选择最大复杂度参数,其估计的交叉验证误差仍在最小可能交叉验证误差的SE之内。这是我的包文档的解释,它说:“为修剪一个很好的选择CP往往是最左边的值,其平均谎言低于水平线”中提到此情节。
cp的两个选择在我的数据集中产生了完全不同的树。
似乎第一种方法将始终生成更复杂的,可能过度拟合的树。在文献中还存在其他优点,缺点和建议等。在决定使用哪种方法时应考虑在内?如果可以的话,我可以提供有关我的特定建模问题的更多信息,但是我试图将这个问题范围扩大到与其他问题相关。
图中的水平线代表什么?
—
Bogdanovist
我相信它比最小交叉验证错误高出1 SE。
—
半时通过
如果您有足够的数据,则可以尝试将其分为训练和测试数据集,甚至对于树木也是如此。如果您主要对预测感兴趣,这可能特别有用,因为测试数据集将对此做出很好的估计。另一个选择是
—
彼得·弗洛姆
party
使用重要性测试的程序包(通常我不建议这样做,但在这里似乎很相关)。与往常一样,最好的测试是有用性和合理性。如果您主要对解释感兴趣,那么尤其如此。
我为响应缓慢表示歉意。为了明确起见,我认为,通过使用交叉验证来计算不同树大小下的错误,我已经有效地将数据重复地分为训练集和测试集。在这种情况下,进行其他训练/测试分组是否多余?我是在误会你吗
—
半点通过
仅将训练/测试中的数据进行划分,并仅使用训练数据对cp参数进行交叉验证,将重现现实的预测测试(您无法使用将来的数据来估算cp)。因此,第一个CV将用于cp,即整个模型的预测误差(包括估计的cp)。
—
罗伯特·库布里克