• criterion:一个字符串,指定切分质量的评价准则。

        默认为'mse',且只支持该字符串,表示均方误差。

      • splitter:一个字符串,指定切分原则。可以为:

        • 'best':表示选择最优的切分。
        • 'random':表示随机切分。
      • max_features:可以为整数、浮点、字符串或者None,指定寻找最优拆分时考虑的特征数量。

        • 如果是整数,则每次切分只考虑 max_features 个特征。
        • 如果是浮点数,则每次切分只考虑 max_features * n_features 个特征,max_features指定了百分比。
        • 如果是字符串'sqrt',则 max_features等于 sqrt(n_features)
        • 如果是字符串'log2',则 max_features等于 log2(n_features)
        • 如果是 None或者 'auto',则 max_features等于 n_features

        注意:如果已经考虑了max_features 个特征,但是还没有找到一个有效的切分,那么还会继续寻找下一个特征,直到找到一个有效的切分为止。

      • max_depth:可以为整数或者None,指定树的最大深度。

        • 如果为None,则表示树的深度不限。

          分裂子结点,直到每个叶子都是纯的(即:叶结点中所有样本点都属于一个类),或者叶结点中包含小于 min_samples_split 个样点。

      • min_samples_split:为整数,指定每个内部结点包含的最少的样本数。

      • min_samples_leaf:为整数,指定每个叶结点包含的最少的样本数。

      • min_weight_fraction_leaf:为浮点数,叶结点中样本的最小权重系数。

      • max_leaf_nodes:为整数或者,指定最大的叶结点数量。

        • 如果非None,则max_depth被忽略。
      • class_weight:为一个字典、字符串'balanced'、或者 None 。它指定了分类的权重。

        • 如果为字典,则权重的形式为:{class_label:weight}
        • 如果为字符串'balanced' ,则表示分类的权重是样本中各分类出现的频率的反比。
        • 如果为None,则每个分类的权重都为1 。

        注意:如果提供了 sample_weight参数(由 fit方法提供),则这些权重都会乘以sample_weight

      • random_state:指定随机数种子。

      • presort:一个布尔值,指定是否要提前排序数据从而加速寻找最优切分的过程。

        • 对于大数据集,设置为 True 会减慢总体的训练过程。
        • 对于一个小数据集或者设定了最大深度的情况下,设置为 True 会加速训练过程。
      • feature_importances_:给出了特征的重要程度。该值越高,则该特征越重要。
      • max_features_max_features的推断值。
      • n_features_:当执行fit之后,特征的数量。
      • n_outputs_:当执行fit之后,输出的数量。
      • tree_:一个 Tree对象,即底层的决策树。
    1. 模型方法:

      • fit(X, y[, sample_weight, check_input, ...]):训练模型。
      • predict(X[, check_input]):用模型进行预测,返回预测值。
      • score(X,y[,sample_weight]):返回模型的预测性能得分。
    1. DecisionTreeClassifier 是分类决策树,其原型为:

      1. sklearn.tree.DecisionTreeClassifier(criterion='gini', splitter='best', max_depth=None,
      2. max_features=None,random_state=None, max_leaf_nodes=None, class_weight=None,
      3. presort=False)
      • criterion:一个字符串,指定切分质量的评价准则。可以为:

        • 'gini':表示切分时评价准则是Gini系数
        • 'entropy':表示切分时评价准则是熵
      • 其它参数参考 DecisionTreeRegressor
    2. 模型属性:

      • classes_:分类的标签值。
      • n_classes_:给出了分类的数量。
      • 其它属性参考 DecisionTreeRegressor
    3. 模型方法:

      • fit(X, y[, sample_weight, check_input, ...]):训练模型。
      • predict(X[, check_input]):用模型进行预测,返回预测值。
      • predict_log_proba(X):返回一个数组,数组的元素依次是X预测为各个类别的概率的对数值。
      • predict_proba(X):返回一个数组,数组的元素依次是X预测为各个类别的概率值。
      • score(X,y[,sample_weight]):返回模型的预测性能得分。
    1. 当训练完毕一棵决策树的时候,可以通过sklearn.tree.export_graphviz(classifier,out_file)来将决策树转化成Graphviz格式的文件。

    2. 然后通过Graphvizdot工具,在命令行中运行命令dot.exe -Tpdf F:\mid out -o F:\mid out.pdf 生成pdf格式的决策图;或者执行dot.exe -Tpng F:\mid out -o F:\mid out.png 来生成png格式的决策图。