首页 > 其他分享 >决策树——预剪枝

决策树——预剪枝

时间:2022-11-26 17:24:31浏览次数:41  
标签:剪枝 结点 leaf min train 决策树

决策树的剪枝有两种思路:
1.预剪枝
2.后剪枝

预剪枝

预剪枝就是在构造决策树的过程中,先对每个结点在划分前进行估计,如果当前结点的划分不能带来决策树模型泛化性能的提升,则不对当前结点进行划分并且将当前结点标记为叶结点。
所有决策树的构建方法,都是在无法进一步降低熵的情况下才会停止创建分支的过程,为了避免过拟合,可以设定一个阈值,熵减小的数量小于这个阈值,即使还可以继续降低熵,也停止继续创建分支。但是这种方法实际中的效果并不好。

决策树模型的剪枝操作主要会用到DecisionTreeClassifier()函数中的
max_depth:指定了决策树的最大深度
max_leaf_nodes:指定了模型的叶子节点的最大数目
min_sample_split:指定了模型的节点允许分割的最小样本数
min_samples_leaf:指定了模型的一个叶节点上所需的最小样本数
这里使用参数网格搜索的方式,对该模型中的四个参数进行搜索,并通过该在验证集上的预测精度为准测,获取较合适的模型参数组合。
params = {'max_depth': np.arange(2,12,2),
'max_leaf_nodes': np.arange(10,30,2),
'min_samples_split': [2,3,4],
'min_samples_leaf': [1,2]}

clf = DecisionTreeClassifier(random_state=1)
gcv = GridSearchCV(estimator=clf,param_grid=params)
gcv.fit(X_train,y_train)

model = gcv.best_estimator_
model.fit(X_train,y_train)

可视化决策树经过剪剪枝后的树结构

dot_data = StringIO()
export_graphviz(model, out_file=dot_data,
feature_names=X_train.columns,
filled=True,
rounded=True,
special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
Image(graph.create_png())

标签:剪枝,结点,leaf,min,train,决策树
From: https://www.cnblogs.com/lirenzhen/p/16927794.html

相关文章

  • sklearn 决策树算法
    https://cloud.tencent.com/developer/article/1819247主要阐述sklearn中分类决策树(tree.DecisionTreeClassifier)的参数,回归决策树类似,不再赘述。DecisionTreeClassif......
  • leetcode814. 二叉树剪枝。如果想到使用递归还是很简单的
    814.二叉树剪枝有一点疑问,为什么不能先     if(!root->left&&!root->right&&root->val==0)returnnullptr;   ?classSolution{public:TreeNode......
  • 决策树剪枝
    一、为什么要进行剪枝?当我们的数据集样本量很大、每个特征的取值很多时,生成决策树的代价就会很大。不仅如此,虽然一个完整的决策树对训练数据的预测非常准,但这会造成对训练......
  • 决策树剪枝
    一、决策树剪枝1.目的  剪枝(pruning)是决策树学习算法解决过拟合问题的主要手段。  在决策树学习中,为了尽可能正确分类训练样本,节点划分过程将不断重复,有时会造成决......
  • 决策树(二):后剪枝,连续值处理,数据加载器:DataLoader和模型评估
    在上一篇文章中,我们实现了树的构造,在下面的内容中,我们将中心放在以下几个方面1.剪枝2.连续值处理3.数据加载器:DataLoader4.模型评估 一,后剪枝•为什么剪枝  –......
  • 337. 打家劫舍 III ----- 动态规划、递归、剪枝、分类讨论
    小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到......
  • 决策树
    一.什么是决策树决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。......
  • R语言Apriori关联规则、kmeans聚类、决策树挖掘研究京东商城网络购物用户行为数据可视
    全文链接:http://tecdat.cn/?p=30360原文出处:拓端数据部落公众号随着网络的迅速发展,依托于网络的购物作为一种新型的消费方式,在全国乃至全球范围内飞速发展。电子商务成为......
  • 决策树
    什么是决策树?分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部结点和叶节点。内部结点表示一个特征或属性,叶节点表示......
  • 数据分享|R语言逻辑回归、Naive Bayes贝叶斯、决策树、随机森林算法预测心脏病|附代码
    全文链接:http://tecdat.cn/?p=23061这个数据集可以追溯到1988年,由四个数据库组成。克利夫兰、匈牙利、瑞士和长滩。"目标"字段是指病人是否有心脏病。它的数值为整数,0=无......