决策树是广泛用于分类与回归的模型,表现形式是一棵二叉树,本质上是一系列的if/else问题。一棵决策树示例:
构造
①要构造一棵决策树,需要构造一系列的if/else问题,这些问题称为测试。算法搜遍所有可能的测试,找出对目标变量来说信息量最大的那一个(区分效果最好的),作为一个结点
②根据是否满足该结点的条件分为左右子结点,对当前数据进行划分
③反复递归,直到所有叶结点都只包含单一类别,称为纯的(pure)、
这很像一棵二叉搜索树(BST),只不过BST的结点询问的是“要搜索的值是否比该结点的值小/大?”,而决策树的结点询问的是“该样本是否满足条件xxx?”,然后根据问题的答案选择该结点的左/右子树。而不同之处在于,BST可能在树的中间就停下(找到目标值),而决策树会一直搜索至树的叶子结点。
模型
决策树可用于分类与回归任务,分别通过sklearn.tree.DecisionTreeClassifier与