决策树算法

   朴素贝叶斯要求特征相互独立,只能处理文本这种,更好的分类要用到决策树,决策树后面还有更更好的随机森林属于集成学习 可以解决很多的事情

学完决策树算法,您应该掌握

  • 掌握决策树实现过程
  • 知道信息熵的公式以及作用
  • 知道信息增益的作用
  • 知道信息增益率的作用
  • 知道基尼指数则作用
  • 知道id3,c4.5,cart算法的区别
  • 了解cart剪枝的作用
  • 应用DecisionTreeClassifier实现决策树分类

五、 决策树算法api

- class sklearn.tree.DecisionTreeClassifier(criterion = ’gini’, max_depth=None, random_state = None)

  • criterion

    • 特征选择标准
    • “gini"或者"entropy”,前者代表基尼系数,后者代表信息增益。一默认"gini",即CART算法。
  • min_samples_split

    • 内部节点再划分所需最小样本数
    • 这个值限制了子树继续划分的条件,如果某节点的样本数少于min_samples_split,则不会继续再尝试选择最优特征来进行划分。 默认是2.如果样本量不大,不需要管这个值。如果样本量数量级非常大,则推荐增大这个值。我之前的一个项目例子,有大概10万样本,建立决策树时,我选择了min_samples_split=10。可以作为参考。
  • min_samples_leaf

    • 叶子节点最少样本数
    • 这个值限制了叶子节点最少的样本数,如果某叶子节点数目小于样本数,则会和兄弟节点一起被剪枝。 默认是1,可以输入最少的样本数的整数,或者最少样本数占样本总数的百分比。如果样本量不大,不需要管这个值。如果样本量数量级非常大,则推荐增大这个值。之前的10万样本项目使用min_samples_leaf的值为5,仅供参考。
  • max_depth

    • 决策树最大深度
    • 决策树的最大深度,默认可以不输入,如果不输入的话,决策树在建立子树的时候不会限制子树的深度。一般来说,数据少或者特征少的时候可以不管这个值。如果模型样本量多,特征也多的情况下,推荐限制这个最大深度,具体的取值取决于数据的分布。常用的可以取值10-100之间。
  • random_state

    • 随机数种子