机器学习之决策树(Day5)

1. 常用分类方法

任务:根据用户的学习动力、能力提升意愿、兴趣度、空余时间,判断其是否适合学习本门课程。
如图所示常用的分类方法:
在这里插入图片描述
接下来重点介绍用决策树实现分类。
在逻辑回归中,我们根据不同特征数据求出逻辑方程的决策边界,从而实现分类任务。
在这里插入图片描述
而决策树是一种对实例进行分类的树形结构,通过多层判断区分目标所属类别,本质上是通过多层判断,从训练数据集中归纳出一组分类规则。
在这里插入图片描述
优点:

  • 计算量小,运算速度快
  • 易于理解,可清晰查看各属性的重要性

缺点:

  • 忽略属性间的相关性
  • 样本类别分布不均匀时,容易影响模型表现

2. 决策树求解

(1)案例分析

对于给定的数据集,我们如何构造决策树模型是关键。核心是特征选择,即每一个节点,应选用哪个特征。
在这里插入图片描述
举例
图中有四个特征(动力、能力提升、兴趣度、时间),两个类别(是、否),构造决策树模型。
在这里插入图片描述

(2)求解原理

求解方法:ID3算法
它的核心是利用信息熵原理选择信息增益最大的属性作为分类属性,递归地拓展决策树的分枝,完成决策树的构造。

那么什么是信息熵?

信息熵是度量随机变量不确定性的指标,熵越大,变量的不确定性就越大。
Ent(D)的值越小,变量的不确定性越小。
在这里插入图片描述

根据信息熵,可以计算以属性a进行样本划分带来的增益:
在这里插入图片描述
目标:划分后样本分布不确定性尽可能小,即划分后信息熵小,信息增益大。

(3)画出决策树模型

所以只要根据上述公式计算各个特征的信息增益值,优先选择最大的做节点。如图所示兴趣特征的信息增益值最大。
在这里插入图片描述
由此画出决策树模型:
在这里插入图片描述

3. 代码实现

上述案例及分析帮助大家更好的了解决策树模型是如何构造的。接下来用代码实现。

Iris鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。本例中只给出了部分数据集,帮助大家理解。
在这里插入图片描述

#模型训练
from sklearn import tree
dc_tree = tree.DecisionTreeClassifier(criterion='entropy',min_samples_leaf=5)
dc_tree.fit(X,y)

#可视化决策树
tree.plot_tree(dc_tree,filled='Ture',
feature_names=['SepalLength','SepalWidth','PetalLength','PetalWidth'],
class_names=['setosa','versicolor','virginica'])

诸如很多模型,在弄清楚原理之后代码也是很容易理解了,在计算机中底层都对算法封装好了,只需几行代码就可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值