掘金 人工智能 04月27日 17:52
机器学习入门(四)决策树
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入浅出地介绍了决策树算法,这是一种通过多层判断进行分类的树形结构。文章以鸢尾花分类为例,阐述了决策树如何利用花萼和花瓣的特征来区分不同种类的鸢尾花。此外,文章详细解读了ID3、C4.5、CART三种经典的决策树算法,并提供了使用sklearn库实现决策树的示例,包括模型建立、可视化以及对关键参数的解释。通过对熵、样本数量、value和class等概念的剖析,帮助读者深入理解决策树的工作原理。

🌸 决策树是一种树形结构,通过多层判断来对实例进行分类,它从训练数据集中归纳出一组分类规则,例如通过判断花瓣宽度和花萼长度等特征来区分鸢尾花的种类。

💡 决策树有三种经典算法,分别是ID3、C4.5和CART。ID3使用信息增益作为属性选择标准;C4.5改进了ID3,使用信息增益率,并能处理离散和连续的描述属性;CART构建二叉树,用于分类和回归任务。

📊 使用sklearn库可以轻松实现决策树,示例代码展示了如何建立决策树模型、可视化决策树以及设置关键参数,例如min_samples_leaf。可视化结果展示了每个节点的熵值、样本数量、value和class信息,帮助理解决策树的分类过程。

🌱 在决策树中,entropy代表节点的熵值,用于衡量数据纯度,熵值越低,样本越倾向于属于同一类别;samples表示该节点中包含的样本数量;value是一个数组,表示该节点中属于各个类别的样本数量;class代表该节点中样本数量最多的类别标签。

在上一篇文章 机器学习入门(三)逻辑回归 中介绍了监督学习的逻辑回归算法,这一篇文章将介绍决策树算法。

决策树

决策树是一种对实例进行分类的树形结构,通过多层判断区分目标所属类别。决策树会通过多层判断,从训练数据集中归纳出一组分类规则。

这里以分辨鸢尾花的种类为例,鸢尾花有三个种类,我们可以根据鸢尾花的花萼长度、花萼宽度、花瓣长度、花瓣宽度等四个特征来区别当前鸢尾花属于哪一类。

而决策树算法就可以帮我们找到分类的层次。比如说首先判断花瓣宽度 < a 如果满足就是种类一,否则再通过 花萼长度 > b 来判断是否是种类二或者种类三。如下图所示:

鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例

决策树的算法

从上面我们知道,决策树其实就是分层判断。其中最重要的就是如何分层,这是由决策树算法来决定的。决策树有三种经典算法,分别是 ID3、C4.5、CART,它们的介绍如下:

ID3C4.5CART
算法描述其核心是在决策树的各级节点上,使用信息增益方法作为属性的选择标准,来帮助确定生成每个节点时所采用的合适属性。C4.5决策树生成算法相对于ID3算法的重要改进是使用信息增益率来选择节点属性。C4.5算法可以克服ID3算法存在的不足:ID3算法只适用于离散的描述属性,而C4.5算法既能够处理离散的描述属性,也可以处理连续的描述属性。CART决策树是一种十分有效的非参数分类和回归方法,通过构建树、修剪树、评估树来构建一个二叉树。当终结点是连续变量时,该树为回归树;当终结点是分类变量,该树为分类树。

详细关于决策树算法的介绍可以看 ID3、C4.5、CART

示例

这里以鸢尾花数据集为例,使用 sklearn 来实现决策树。

# 建立决策树模型from sklearn import tree# min_samples_leaf 是叶子节点最少样本数对应参数dc_tree = tree.DecisionTreeClassifier(criterion='entropy', min_samples_leaf=5)dc_tree.fit(x, y)# 可视化决策树%matplotlib inlinefrom matplotlib import pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签fig = plt.figure(figsize=(10, 10))tree.plot_tree(dc_tree, filled = True,                feature_names=['萼片长度', '萼片宽度', '花瓣长度', '花瓣宽度'],                class_names=['鸢尾濑户', '花斑鸢尾花', '鸢尾花'])

效果如下图所示:

其中:

参考

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

决策树 机器学习 ID3 C4.5 CART
相关文章