如何获得决策树的最大深度max_depth?

2020-10-28 财经 226阅读
通俗来讲,决策树的构建过程就是将数据根据其特征分布划分到不同的区域,使得同一个区域的样本有尽可能一致的类别标签。在决策树构建的过程中,我们需要一个衡量标准来确定每次数据划分所带来的收益,这个标准就是信息熵,以0-1二分类问题为例,衡量一个节点的信息。熵越高,则混合的数据也越多,得到熵之后,就可以按照获得最大增益的方式来划分数据集。
然后根据标签划分数据集,计算每个数据集的不纯度。
伪代码如下:
If so return 类标签:
Else
寻找划分数据集的最好特征
划分数据集
创建分支节点
for 每个划分的子集
调用函数createBranch并增加返回结果到分支节点
return 分支节点
3、Python调用及Sklearn调参
决策树相关参数如下:
- max_depth:树的最大深度,也就是说当树的深度到达max_depth的时候无论还有多少可以分支的特征,决策树都会停止运算.
- min_samples_split: 分裂所需的最小数量的节点数.当叶节点的样本数量小于该参数后,则不再生成分支.该分支的标签分类以该分支下标签最多的类别为准
- min_samples_leaf; 一个分支所需要的最少样本数,如果在分支之后,某一个新增叶节点的特征样本数小于该超参数,则退回,不再进行剪枝.退回后的叶节点的标签以该叶节点中最多的标签你为准
- min_weight_fraction_leaf: 最小的权重系数
- max_leaf_nodes:最大叶节点数,None时无限制,取整数时,忽略max_depth
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com