在模型筛选中,Boosted Tree 被评为表现最佳的模型,因此我选择了它或者说回归问题。
请问如何利用tuning table设计进一步优化boosted tree的性能?
你好@AlphaPanda86751 ,
如果您想微调所选算法的超参数以提高预测性能,调优表可能确实有用。
请问您是否已经有验证策略,以防止过度拟合:k-folds 交叉验证、验证列、其他...? 与其他基于树的方法(如引导森林)相比,提升树可能更容易过度拟合,因此最好在尝试优化性能之前固定并设置验证策略。
为了使用调整表设计,您可以手动生成一个表,通过在列中设置超参数因子(层数、每棵树的分割数、学习率、最小分割大小……)来测试所有组合(“网格-搜索方法”),或者您也可以使用“自定义设计”平台生成调整表设计,方法是指定您想要调查/微调的不同超参数因素、每个值的范围以及模型/复杂性您想在此超参数空间中研究的不同组合/交互。 您可以在此处找到更多信息(信息来自 Bootstrap Forest 平台,但 Boosted Tree 的技术非常相似):启动 Bootstrap Forest 平台 (jmp.com)
您可以在附件中找到从定制设计平台生成的调整表示例。
然后您可以使用您之前设置的验证策略启动您的 Boosted Tree 平台,并让 JMP 使用 Tuning 表来测试不同的超参数值。
下面是钻石数据集上带有“正常”(未微调)提升树的分层验证列的结果示例:

这是使用调整表的结果:

JMP 中的“默认”设置与 Boosted Tree 的微调版本之间没有大的变化,但尝试微调以评估性能变化可能会有所帮助且有趣。 如果您使用了验证公式列,您还可以评估超参数微调的“稳健性”(右键单击 Rsquare、RASE 或其他评估指标,并使用“模拟”切换进出验证列,以及设置随机种子以获得可重现的比较结果):

同样,这并没有太大区别,因为 JMP 中的默认设置很好而且非常稳健,但您可以自己尝试。
您将在附件中找到包含已完成模拟和图表脚本的数据表,您可以在示例索引中找到钻石数据的数据表,也可以在此处附加(以便获得验证列并重现此处介绍的步骤)。
我希望这能帮到您,