决策树
1.1 概述
1 Decision Tree 非参数的有监督学习方法;树状图;解决分类和回归问题;
根节点;中间节点;叶节点;子节点和父节点
2 决策树算法的核心是要解决两个问题:
1)如何从数据表中找出最佳节点和最佳分支
2)如何让决策树停止生长,防止过拟合
1.2 sklearn中的决策树
tree.DecisionTreeClassifier | 分类树 |
tree.DecisionTreeRegressor | 回归树 |
tree.export_graphviz | 将生成的决策树导出为DOT格式,画图专用 |
tree.ExtraTreeClassifier | 高随机版本的分类树 |
tree.ExtraTreeRegressor | 高随机版本的回归树 |
# sklearn的基本建模流程
在这个流程下,分类树对应的代码:
# 导入需要的模块
from sklearn import tree
# 实例化
clf = tree.DecisionTreeClassifier()
# 用训练集数据训练模型
clf = clf.fit(x_train, y_train)
# 导入测试集,从接口中调用需要的信息
result = clf.score(x_test, y_test)
2 DecisionTreeClassifier与红酒数据集
class sklearn.tree.DecisionTreeClassifier(criterion='gini', )
2.1 重要参数
2.1.1 criterion
对分类树来说,衡量决策树最佳节点和最佳分支的指标叫“不纯度”;不纯度越低,决策树对训练集的拟合越好;现在使用的决策树算法在分支方法上围绕着不纯度相关指标的最优化
criterion这个参数正是用来决定不纯度的计算方法的
sklearn提供了两种选择:
1) 输入'entropy'&