图:一个复杂的决策树
决策树是监督机器学习算法之一,该算法可用于回归和分类问题,但主要用于分类问题。决策树遵循一组 if-else 条件来可视化数据,并根据条件对数据进行分类。 例如,
来源:mc.ai
在我们深入探讨决策树算法的工作原理之前,你需要知道一些与之相关的关键词。
- **根节点:**该属性用于将数据分成两组或多组。基于属性选择技术选择该节点中的特征属性。
- **分支或子树:**整个决策树的一部分称为分支或子树。
- **拆分:**根据 if-else 条件将一个节点划分为两个或两个以上的子节点。
- **决策节点:**将子节点拆分成更多的子节点后,称为决策节点。
- **叶节点或终端节点:**这是决策树的末端,在这里不能再分成更多的子节点。
- **修剪:**从树上移除一个子节点称为修剪。
来源: Kdnuggets
- 基于属性选择测量(ASM)的结果选择根节点特征。
- ASM 一直重复,直到出现一个叶节点或终端节点,在那里它不能被分割成子节点。
来源:数据营
属性子集选择度量是在数据挖掘过程中用于数据简化的一种技术。为了更好地分析和预测目标变量,数据简化是必要的。
两种主要的 ASM 技术是
- 基尼指数
- 信息增益(ID3)
当随机选择某个变量时,衡量该变量被错误分类的概率的尺度称为基尼指数或基尼系数。数据根据基尼指数平均分配。
数学公式:
Pi =物体被分类到特定类别的概率。
当您使用基尼指数作为算法选择根节点特征的标准时。选择具有最小基尼系数的特征。
熵是这种算法的主要概念,这种算法有助于确定提供关于类的最大信息的特征或属性,这种算法称为信息增益或 ID3 算法。通过使用这种方法,我们可以降低从根节点到叶节点的熵水平。
数学公式:
‘p’,表示 E(S)的概率,E(S)表示熵。具有最高 ID3 增益的特征或属性被用作分割的根。
资料来源:Giphy
我知道 ASM 技术在上面的上下文中没有解释清楚 让我用一个例子来解释整个过程。
根据给定数据预测贷款资格流程。
以上问题陈述摘自 Analytics Vidhya Hackathon。
您可以在 Analytics Vidhya 上找到数据集以及关于数据集中变量的更多信息。
我选择分类问题的原因是,我们可以在训练后可视化决策树,而这在回归模型中是不可能的。
这里有两种可能的方法,要么用某个值填充空值,要么删除所有丢失的值(我删除了所有丢失的值)。
现在,如果您查看原始数据集的形状,它是(614,13),删除空值后的新数据集是(480,13)。
资料来源:Giphy
我们发现数据集中有许多分类值。
因此,此时采取的最佳步骤是,您可以使用标签编码和一个热标签编码等功能工程技术。
为什么要在训练一个机器学习算法之前拆分数据?
关于详细的推理,请访问 Sanjeev 关于训练、开发、测试和数据分割的文章。
p =阳性病例数(接受贷款状态)
n =否定案例数(Loan_Status not accepted)
在我们的数据集中
p = 332,n=148,p+n=480
这里的对数以 2 为基数
熵= E(s) = 0.89
这里面有两种类型男性(1)和女性(0)
所有男性的数据都在里面,
p = 278,n=116,p+n=489
熵(G =男性)= 0.87
所有女性的数据都在里面,
p = 54,n = 32,p+n = 86
熵(G =女性)= 0.95
增益(性别)= E(s) — I(性别)
增益= 0.89–0.88
增益= 0.001
来源:Unsplash | Sandy Millar
在这一列中,我们有“是”和“否”值
在此拆分中,整个数据集的已婚状态为是
p = 227,n = 84,p+n = 311
e(已婚=是)= 0.84
在这种分割中,具有已婚状态 no
p = 105,n = 64,p+n = 169
e(已婚=否)= 0.957
增益= 0.89–0.88 = 0.001
来源:图标查找器
在这个专栏中,我们有毕业生和非毕业生的价值观。
p = 271,n = 112,p+n = 383
e(学历=毕业)= 0.87
p = 61,n = 36,p+n = 97
e(学历=未毕业)= 0.95
教育栏的平均信息= 0.886
增益= 0.01
在这一列中,我们有“是”或“否”值
p = 43,n = 23,p+n = 66
e(自营职业=是)= 0.93
p = 289,n = 125,p+n = 414
e(自营职业=否)= 0.88
“教育中的自雇者”栏中的平均信息= 0.886
增益= 0.01
来源:脸书
在这一列中,我们有 1 和 0 值
p = 325,n = 85,p+n = 410
e(信用评分= 1) = 0.73
p = 63,n = 7,p+n = 70
e(信用评分= 0) = 0.46
信用评分栏中的平均信息= 0.69
增益= 0.2
信用分数具有最高增益,因此将在根节点中使用
现在我们用模型的决策树来验证一下。
标准=基尼的决策树
标准=熵的决策树
资料来源:Giphy
嗯,好像我们计算对了!
因此,重复相同的过程,直到没有进一步分裂的可能性。
我们几乎达到了 80%的准确率。对于这种类型的问题陈述来说,这是一个不错的分数。
- 在开始训练时,整个数据集被认为是根。
- 输入值最好是分类的。
- 记录是基于属性值分布的。
- 基于统计结果,属性被放置为树的根节点。
- max_depth: 这里定义了树的最大深度。
- **判据:**该参数以判据方法为值。默认值是基尼。
- 拆分器:该参数允许我们选择拆分策略。最佳和随机是可用的拆分类型。默认值是最佳值。
试着改变这些变量的值,你会发现模型的准确性有所改变。
使用随机的森林树木。
- 决策树很容易可视化。
- 数据中的非线性模式很容易捕捉。
- 它可用于预测缺失值,适用于特征工程技术。
- 数据的过度拟合是可能的。
- 输入数据的微小变化会导致不同的决策树。这可以通过使用特征工程技术来减少。
- 在训练模型之前,我们必须平衡数据集。
希望大家对决策树都很清楚。我试图简单地解释它。掌声和跟随是值得赞赏的。
敬请关注更多内容。