sklearn决策树_sklearn(三)决策树

本文介绍了sklearn中的决策树,包括决策树定义、训练过程、评估指标、种类、常见算法如ID3、C4.5、CART的优缺点,并重点讨论了sklearn实现的CART算法,适用于分类和回归任务。同时,提到了决策树的剪枝及可视化方法,并给出了使用sklearn构建和应用决策树的基本流程。
摘要由CSDN通过智能技术生成

756473eab1643289236f69ba3ff8c9c3.png

决策树定义

维基百科:

统计学,数据挖掘和机器学习中的决策树训练,使用决策树作为预测模型来预测样本的类标。也称为分类树或回归树。叶子节点表示类标,内部节点表示某个属性。
在决策分析中,一棵决策树可以明确地表达决策的过程。在数据挖掘中,一棵决策树表达的是数据而不是决策。

sklearn:

决策树DT是一种用于分类和回归的非参数监督学习方法。目标是创建一个模型,该模型通过学习从数据特征推断出的简单决策规则来预测目标变量的值。

为什么出现(为什么需要这个技术)

  • 解决什么问题
目标是创建一个模型用来预测样本的目标值;

避免的问题:

从数据中找到最佳节点和最佳分枝;以及如何让决策树停止增长,防止过拟合问题。

为什么学习它

  • 解决工作问题?
  • 提高效率?
  • 知识储备?

怎么做

决策树训练过程为:根据一个指标,分裂训练集为几个子集。然后不断的根据不同的指标进行重复递归,即递归分隔。当一个训练子集的类标都相同时递归停止。该类决策树自顶向下归纳是贪心算法的一种,也是目前为止最为常用的一种训练方法。

关于指标的定义

决策树的每一步分裂,尽量选择最好的属性进行分裂,最好的定义就是使得子节点中的训练集尽可能的纯,不断的算法使用的不同的指标来定义最好。

常见的分类指标如:基尼不纯度指标,信息增益,

决策树的种类:

分类:输出是样本的类标

回归:输出是一个实数,如房子价格,病人在医院的时间等

常见决策树算法

ID3

C4.5

CART

优缺点各是什么

优点:

易于理解和解释,只需要很少的数据,即可以处理数值型数据也可以处理类别型数据,使用白箱模型;可以通过测试集来验证模型的性能,强健的控制,可以很好的处理大规模数据;能够处理多输出问题;

缺点:

一个最优的决策时是一个完全NP问题,而是实际应用时,决策树的训练是采用启发式搜索算法,比如贪心算法,来达到局部最优,因此是没有办法达到一个最优的决策树,这是一矛盾的点;决策树会根据训练集创建过度复杂的决策树,导致无法预测训练集以外的数据,这种现象为过拟合问题,需要根据剪枝来避免该类问题;有些问题是决策树所无法解决的,比如:异或问题;对于类别型数据,信息增益会有一定的编制。

相关概念:

决策树剪枝

ID3算法

C4.5算法

CART算法

sklearn中的决策树

sklearn中决策树实现的是CART算法,调优过的算法,既可以做分类,又可以做回归。

使用不用的类实现:分类决策树的类对应的是DecisionTreeClassifier,而回归决策树的类对应的是DecisionTreeRegressor。

以及决策树的可视化,在该博客中可以看到相关教程,或者自行搜索

实际的Demo参考官方文档

大部分都在tree这个模块下,包含五个类,不包含集成算法。

建模编码流程:

1。导入所需要的的库

2。导入相关数据

3。建立评估模型对象

4。训练模型(优化模型)

5。保存模型

6。使用模型

代码如下:

from sklearn import tree #导入指定模块

clf = tree.DecisionTreeClassifier() #实例化

clf = clf.fit(X_train , y_train) #用训练的数据训练模型

result = clf.score(X_test , y_test) #导入测试集,为模型打分。
clf.predict(data) # 使用训练后的模型预测

参考:

飘哥:机器学习sklearn系列之决策树​zhuanlan.zhihu.com
fe1a80362e24d4e1a26f1f388529bf7e.png
scikit-learn决策树算法类库使用小结 - 刘建平Pinard - 博客园​www.cnblogs.com
9e39697956749e63284a0330c61b22e8.png
Python机器学习算法库--决策树(scikit-learn学习 - 决策树)​blog.csdn.net
93e02a59a387b73f1cb378d1a9d7858b.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值