rpart决策树中的rel错误和x错误之间有什么区别?
我有一个来自UCI机器学习数据库的纯分类数据框架 我正在使用rpart根据患者是否在30天之前返回的新类别(一个新的失败类别)形成一个决策树 我正在为我的决策树使用以下参数rpart决策树中的rel错误和x错误之间有什么区别?,r,tree,rpart,R,Tree,Rpart,我有一个来自UCI机器学习数据库的纯分类数据框架 我正在使用rpart根据患者是否在30天之前返回的新类别(一个新的失败类别)形成一个决策树 我正在为我的决策树使用以下参数 tree_model <- rpart(Failed ~ race + gender + age+ time_in_hospital+ medical_specialty + num_lab_procedures+ num_procedures+num_medications+number_outpatien
tree_model <- rpart(Failed ~ race + gender + age+ time_in_hospital+ medical_specialty + num_lab_procedures+ num_procedures+num_medications+number_outpatient+number_emergency+number_inpatient+number_diagnoses+max_glu_serum+ A1Cresult+metformin+glimepiride+glipizide+glyburide+pioglitazone+rosiglitazone+insulin+change,method="class", data=training_data, control=rpart.control(minsplit=2, cp=0.0001, maxdepth=20, xval = 10), parms = list(split = "gini"))
我看到,随着决策树分支的断开,相对误差在下降,但xerror在上升——我不理解这一点,因为我认为错误会减少分支越多,树就越复杂
我认为xerror是最重要的,因为大多数修剪树木的方法都会从根部修剪树木
有人能给我解释一下为什么修剪树木时,Xeror才是人们关注的焦点吗?
当我们总结决策树分类器的错误是什么时,错误是0.99231还是1.0031?x错误是交叉验证错误(rpart内置了交叉验证)。您可以将rel_error、xerror和xstd这3列一起使用,以帮助您选择修剪树的位置 每行表示树的不同高度。一般来说,树中的级别越多,表示它在训练时的分类错误越小。但是,您有过度安装的风险。通常,交叉验证错误实际上会随着树的级别增加而增加(至少在“最佳”级别之后) 经验法则是选择最低级别,其中
rel_error+xstd
如果在输出上运行plotcp
,它还将显示修剪树的最佳位置
另外,请参见。我想在@Harold Ship的回答中添加一些信息。实际上,有三种方法可以选择修剪的最佳cp值:
这是一个概念问题,而不是编码问题。你应该找一个论坛来讨论这个话题。也许CrossValidated.com.你有计算相对误差的明确公式吗?或者如果你有相关的链接,让我知道
CP nsplit rel error xerror xstd
1 0.00065883 0 1.00000 1.0000 0.018518
2 0.00057648 8 0.99424 1.0038 0.018549
3 0.00025621 10 0.99308 1.0031 0.018543
4 0.00020000 13 0.99231 1.0031 0.018543