决策树的后剪枝算法,挺实用的一招,尤其是你在模型训练后精度高、但上线后却效果一般的时候。简单说,后剪枝就是先把树长大,再砍掉一些没啥用的分支,防止模型学得太细,过拟合。
剪枝策略里,像规则精度这种方式,逻辑比较直接,就是看看剪了之后对结果影响大不大。没太大影响的就删掉,干脆利落。推荐你看看《基于规则精度的决策树剪枝策略》,思路蛮清晰。
如果你还在用 ID3、C4.5 或 C5.0 算法,嗯,这些算法的剪枝方式也略有不同。比如C5.0自带的后剪枝策略就还不错,细节上有不少优化,可以参考这篇实战教程。
另外,用 MATLAB 搭建实验环境也挺方便的,推荐入门的话看看《决策树算法 Matlab 入门示例》,代码简洁,响应也快,新手也能快速跑通。
如果你打算把剪枝逻辑跑在大数据框架上,像MapReduce这种,就得关注下性能和分布式支持了。可以看看这篇 MapReduce 的决策树研究,讲得比较实在。
,后剪枝算法虽然听着有点老派,但在不少真实业务里还是蛮好用的。是数据特征杂的时候,剪得好,泛化能力一下就提上来了。如果你最近在调模型,不妨实测下剪枝前后的差别。