概述
决策树(分类树与回归树)
1. 概述
sklearn中的决策树
tree.DecisionTreeClassifier | 分类树 |
---|---|
tree.DecisionTreeRegressor | 回归树 |
tree.export_graphviz | 将生成的决策树导出为dot模式,画图用 |
tree.ExtraTreeClassifier | 高随机版本的分类树 |
tree.ExtraTreeRegressor | 高随机版本的回归树 |
from sklearn import tree
# 导入需要的模块
clf = tree.DecisionClassifier()
# 实例化
clf = clf.fit(X_train, y_train)
# 用训练集数据训练模型
result = clf.score(x_test, y_test)
# 导入测试集,从接口调用需要的信息
2. DecisionTreeClassifier
2.1重要参数:
2.1.1 criterion
不纯度基于节点计算,树中的每一个节点都有相应的不纯度,并且子节点的不纯度一定低于父节点的,也就是同一棵决策树中,叶子节点的不纯度一定是最低的。
criterion是决定不纯度的计算方法(ps:不纯度越低,决策树对训练集的拟合效果越好):
- 输入”entropy“,使用信息熵(Entropy) 高维数据,信息熵容易过拟合
- 输入”gini“,使用基尼系数(Gini Impurity) 决策树拟合程度不够时使用信息熵
2.1.2 random_state & splitter
2.1.3 剪枝参数
2.1.4 目标权重参数
2.1 重要属性和接口
3. DecisionTreeRegressor
3.1 重要参数与接口
criterion
3.2 实例:一维图像绘制
4. 实例:泰坦尼克幸存者预测
5. 决策树的优缺点
6. 附录
6.1 分类树参数列表
criterion | 字符型,可不填,默认基尼系数(’‘gini’’) 用来衡量分枝质量的指标,即不纯度的指标,输入’‘gini’'使用基尼系数,输入‘’‘entropy’使用信息增益 |
---|---|
spitter | 字符型,可不填,默认最佳分枝(’‘best’‘) 确定每个节点的分枝策略 输入’‘best’‘使用最佳分枝,输入’‘random’‘使用随机分枝 |
max_depth | 整数或None,可不填,默认None 书的最大深度,如果是None,树会持续生长到所有子节点的不纯度为0,或者直到每个叶子节点所含样本量都小于参数min_samples_split中所填写的数字 |
min_samples_split | 整数或者浮点数。可不填,默认=2 一个中间节点要分枝所需要的最小样本量,如果一个节点包含样本数小与 min_samples_split 中所填写的数字,这个节点的分枝就不会发生,即该节点必定成为一个叶子节点 1)如果输入整数,即认为输入数字为最小样本量 2)如果输入浮点数,则认为输入的浮点数是比例,输入的浮点数 * 输入模型的数据集的样本量(n_samples)是分枝所需要的最小样本量 |
min_samples_leaf | 整数或浮点数,可不填,默认=1 一个叶子节点要存在所需要的最小样本量,一个节点在分枝后的每个子节点中,必须包含至少 min_samples_leaf 个训练样本,否则分枝就不会发生。这个参数可能会有使得模型更加平滑的效果,尤其是在回归中 1)如果输入整数,即认为输入数字为叶节点存在所需的最小样本量 2)如果输入浮点数,则认为输入的浮点数是比例,输入的浮点数 * 输入模型的数据集的样本量(n_samples)是叶节点存在所需要的最小样本量 |
min_weight_fraction_leaf | 浮点数,可不填,默认=0 一个叶节点要存在所需要的权重占输入数据集的总权重的比例 总权重由fit接口中的 sample_weight 参数确定 当 sample_weight 是 None 时,默认所有样本的权重相同 |
max_features | 整数,浮点数,字符型或None,可不填,默认None 在做最佳分枝的时候考虑的特征个数 1)输入整数,则每一次分枝都考虑 max_features 个特征 2)输入浮点数,则认为输入的浮点数是比例,每次考虑的特征数量为 max_features * 输入模型的数据集的特征个数(n_features) 3)输入“ auto”,采用 n_features 的平方根做分枝时考虑的特征数目 4)输入“ sqrt”,采用 n_features 的平方根做分枝时考虑的特征数目 5)输入“ log2”,采用 l o g 2 ( n _ f e a t u r e s ) log_2(n_features) log2(n_features)作为分枝时考虑的特征数目 6)输入“ None”,n_features 就是分枝时考虑的特征数目 注意:如果在限制的 max_features 中,决策树无法找到节点样本上至少一个有效的分枝,那么对于分枝的搜索不会停止,决策树会检查比限制的 max_features 更多数目的特征 |
random_state | 整数,sklearn中设定好的RandomState实例,或None,可不填,默认None 1)输入整数,random_state 是由随机数生成生成器生成的随机数种子 2)输入RandomState实例,则random_state 是一个随机数生成生成器 3)输入None,随机数生成器会是一个 np.random 模块中的一个RandomState实例 |
6.2 分类树属性列表
6.3 分类树接口列表
最后
以上就是害羞黑夜为你收集整理的sklearn中的决策树以及相关参数决策树(分类树与回归树)的全部内容,希望文章能够帮你解决sklearn中的决策树以及相关参数决策树(分类树与回归树)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复