决策树的种类
模块 sklearn.tree
tree.DecisionTreeClassifier: 分类树
tree.DecisionTreeRegressor:回归树
tree.export.graphviz:将生成的决策树导出为DOT格式,画图专用,可以可视化展现决策树
tree.ExtraTreeClassifier:高随机版本的分类树
tree.ExtraTreeRegressor
决策树建模的过程
决策树通过分类器集成的方式筛选出最终的决策树:多次随机选择一些特征进行决策树分类,得到多个决策树后选取拟合效果最好(score最高)的一个决策树模型。
每个节点的分类是依靠entropy和gini系数进行节点的划分,计算系数后得到不纯度,不纯度越低说明该节点内分类的数据越具备统一的标签。例如,有苹果、梨子、香蕉,该节点分类被归属于苹果,但其实内部仍然包含少部分的梨子和香蕉。当不纯度为0时,代表所有记录都为一个相同的标签,叶子(leaf)节点的不纯度为0。
相关代码:
建模代码
clf = tree.DecisionTreeClassifier(criterion='entropy'[默认gini]
,random_state=30[按照一定规则选取特征,不会随机选取特征,输入相同的数值会生成同一棵树】
,splitter='random'【控制随机选择的特征的,分为random和best,best为决策树随机选择特征时会选择更重要的特征进行分枝,random为分枝时会更加随机,对选练级的拟合会降低,当过拟合时经常选用这个方式降低