scikit-learn中决策树分类DecisionTreeClassifier参数详解

目录--点击 直接跳转 到对应位置

class sklearn.tree.DecisionTreeClassifier(

criterion=’gini’

splitter=’best’

max_depth=None

min_samples_split=2

min_samples_leaf=1

min_weight_fraction_leaf=0.0

max_features=None

random_state=None

max_leaf_nodes=None

min_impurity_decrease=0.0

min_impurity_split=None

class_weight=None

presort=False


class sklearn.tree.DecisionTreeClassifier(

criterion=’gini’

          特征选择标准,默认值为‘gini’。(entropy, gini)

          默认gini,即CART算法。

splitter=’best’

      特征划分标准,默认值为‘best’。(best, random)

      best在特征的所有划分点中找出最优的划分点,random随机的在部分划分点中找局部最优的划分点。

      默认的‘best’适合样本量不大的时候,而如果样本数据量非常大,此时决策树构建推荐‘random’。

max_depth=None

         决策树最大深度。默认值是‘None’。(int,  None)

        一般数据比较少或者特征少的时候可以不用管这个值,如果模型样本数量多,特征也多时,推荐限制这个最大深度,具体取值取决于数据的分布。常用的可以取值10-100之间,常用来解决过拟合。

min_samples_split=2

                   内部节点再划分所需最小样本数。默认值为2。(int, float)

                   如果是int,则取传入值本身作为最小样本数;如果是float,则取ceil(min_samples_split*样本数量)作为最小样本数。(向上取整)

min_samples_leaf=1

               叶子节点最少样本数。

               如果是int,则取传入值本身作为最小样本数;如果是float,则取ceil(min_samples_leaf*样本数量)的值作为最小样本数。这个值限制了叶子节点最少的样本数,如果某叶子节点数目小于样本数,则会和兄弟节点一起被剪枝。

min_weight_fraction_leaf=0.0

       叶子节点最小的样本权重和。默认为0。(float)

            这个值限制了叶子节点所有样本权重和的最小值,如果小于这个值,则会和兄弟节点一起被剪枝。

            默认是0,就是不考虑权重问题,所有样本的权重相同。一般来说如果我们有较多样本有缺失值或者分类树样本的分布类别偏差很大,就会引入样本权重,这时就要注意此值。

max_features=None

    在划分数据集时考虑的最多的特征值数量。

                      int值,在每次split时最大特征数;float值表示百分数,即(max_features*n_features);

random_state=None

 默认是None,(int, randomSate instance, None)

max_leaf_nodes=None

                        最大叶子节点数。默认为None。(int, None)

                       通过设置最大叶子节点数,可以防止过拟合,默认情况下是不设置最大叶子节点数。如果加了限制,算法会建立在最大叶子节点数内最优的决策树。如果特征不多,可以不考虑这个值,但是如果特征多,可以加限制,具体的值可以通过交叉验证得到。

min_impurity_decrease=0.0

  节点划分最小不纯度。默认值为‘0’。(float,)

                         限制决策树的增长,如果某节点的不纯度(基尼系数,信息增益,均方差,绝对差)小与这个阈值,则该节点不再生成子节点。

min_impurity_split=None

    信息增益的阀值。决策树在创建分支时,信息增益必须大于这个阀值,否则不分裂。

class_weight=None

   类别权重。默认为None,(dict, list of dicts, balanced)

                        指定样本各类别的权重,主要是为了防止训练集某些类别的样本过多,导致训练的决策树过于偏向这些类别。balanced,算法自己计算权重,样本量少的类别所对应的样本权重会更高。如果样本类别分布没有明显的偏倚,则可以不管这个参数。不适用于回归树,sklearn.tree.DecisionTreeRegressor.

presort=False

bool,默认是False,表示在进行拟合之前,是否预分数据来加快树的构建。对于数据集非常庞大的分类,presort=true将导致整个分类变得缓慢;当数据集较小,且树的深度有限制,presort=true才会加速分类。


————————————————
版权声明:本文为CSDN博主「劷鹿」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/y0929/article/details/82686177

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值