构建决策树

Debroon Debroon     2022-12-05     535

关键词:

构建决策树

 


决策树

决策树,是通过数据归纳,总结出条件判断的学习模式。

如果新来一位男生/客户/面试者,根据上面的树状图就可以作出是否见面/贷款/入职的决定,所以该树状图就称决策树。

决策树解决问题就是这样,天然的可以解决多分类问题,当然回归问题也可以。

那怎么构建一棵决策树呢?

  • 决策树在哪种节点做划分?
  • 划分的值是什么?
     

信息熵划分

我们可以通过信息熵来划分。

  • 熵:衡量信息的不确定程度
  • 熵越大,不确定性越大
  • 熵越小,不确定性越小

熵的计算公式:

  • k k k:一个系统中有 k 种分类
  • p i p_i pi:某种分类所占的比例

熵公式的意思是:

  • 一个系统中状态数量越多(可能性越多),不确定性越大。

比如买彩票的不确定性,要比抛硬币的不确定性大。只有一个类别时,熵为 0。

  • 在状态数量不变的情况下,各个状态的可能性相同,不确定很大。

比如抛硬币是二选一,不确定性很大。可如果硬币一面重、一面轻,就有规律可寻,不确定性会小很多。
 

信息增量:衡量每一条信息价值的尺度,这个值越大,信息越有用。

 
我们的划分思路是,让可能性变少,划分后使得整体的信息熵降低,变得更加确定。

 


基尼系数划分

我们可以通过基尼系数来划分。

 


调用 CART

CART 是基尼系数实现的,基尼系数没有 l o g log log 计算比信息熵更快。

构建决策树时的终止标准

】构建决策树时的终止标准【英文标题】:Theterminationcriteriawhenbuildingdecisiontree【发布时间】:2011-04-2710:38:38【问题描述】:我正在为决策树编写自己的代码。我需要决定何时终止树构建过程。我可以考虑限制树的高度,但这似... 查看详情

从管道中获取相关功能并构建决策树

】从管道中获取相关功能并构建决策树【英文标题】:GettherelevantfeaturesfromthepipelineandbuildaDecisionTree【发布时间】:2022-01-0312:40:06【问题描述】:我有一个训练决策树的管道。我想输出成功训练后使用的特征,然后我想显示我的... 查看详情

在 jupyter 中构建决策树的 KeyError:

】在jupyter中构建决策树的KeyError:【英文标题】:KeyErrorbuildingdecisiontreeinjupyter:【发布时间】:2021-12-2205:07:09【问题描述】:我正在使用带有以下代码的Jupyter笔记本在Python中构建scikit-learn决策树:frompandasimportread_csvfromsklearnimportt... 查看详情

构建决策树分类

】构建决策树分类【英文标题】:BuildDecisionTreeClassification【发布时间】:2021-04-2205:36:44【问题描述】:我有两个数据集,partb_data1和partb_data2。给定反映客户特征的银行客户样本以及银行是否继续与他们合作(流失)。退出:流... 查看详情

r语言构建决策树(decisiontrees)模型并进行调优和解释

R语言构建决策树(decisiontrees)模型并进行调优和解释目录R语言构建决策树(decisiontrees) 查看详情

r语言构建决策树模型的算法步骤和流程(decisiontreealgorithmtreebuildprocessorsteps)

R语言构建决策树模型的算法步骤和流程(decisiontree algorithmtreebuildprocessorsteps)目录R语言构建决策树模型的算法步骤和流程(decisiontree algorithmtreebuildprocessorsteps 查看详情

机器学习之决策树(代码片段)

目录1、决策树2、决策树的构建2.1特征选择2.2特征树的生成2.3特征树的剪枝1、决策树树:是由节点和边两种元素组成的结构。其中节点包括根结点、父节点、子节点和叶子节点。决策树:利用树结构进行决策,每一个非叶子节点... 查看详情

在构建决策树模型时处理分类特征

】在构建决策树模型时处理分类特征【英文标题】:Processcategoricalfeatureswhenbuildingdecisiontreemodels【发布时间】:2017-11-0913:46:48【问题描述】:我使用H2O来构建GBM、DRF和DL等分类模型。我拥有的数据集包含一些分类列,如果我想将... 查看详情

构建决策树回归模型并预测样本的输出 - 机器学习

】构建决策树回归模型并预测样本的输出-机器学习【英文标题】:BuildDecisionTreeRegressionModelandpredictingoutputfromsample-Machinelearning【发布时间】:2020-05-2714:06:35【问题描述】:我是机器学习的新手。当我使用来自scikit-learn模块的波士... 查看详情

决策树

决策树是一种简单但广泛使用的分类器,它通过训练数据构建决策树,对未知的数据进行分类。决策树的每个内部节点表示在一个属性上的测试,每个分枝代表该测试的一个输出,而每个树叶结点存放着一个类标号。 在决策... 查看详情

如何实现使用 ctree(party 包)构建的决策树的输出?

】如何实现使用ctree(party包)构建的决策树的输出?【英文标题】:Howtoimplementtheoutputofdecisiontreebuiltusingthectree(partypackage)?【发布时间】:2013-08-2607:25:09【问题描述】:我通过party包使用ctree函数构建了一个决策树。它有1700个节... 查看详情

为啥构建决策树的运行时是 mn log(in)?

】为啥构建决策树的运行时是mnlog(in)?【英文标题】:Whyistheruntimetoconstructadecisiontreemnlog(n)?为什么构建决策树的运行时是mnlog(in)?【发布时间】:2016-03-1617:18:39【问题描述】:当m是特征数量,n是样本数量时,pythonscikit-learn网站(... 查看详情

无效的语法错误:使用 Python 和 Spark 构建决策树、流失预测

】无效的语法错误:使用Python和Spark构建决策树、流失预测【英文标题】:Invalidsyntaxerror:BuildingdecisiontreewithPythonandSpark,Churnprediction【发布时间】:2017-05-1119:01:23【问题描述】:正如标题所示:我正在研究用于预测客户流失的决策... 查看详情

重复行如何影响决策树?

...2016-04-0415:08:09【问题描述】:我正在使用Rpart为分类变量构建决策树,我想知道是否应该使用仅包含唯一行集的完整数据集。【问题讨论】:【参考方案1】:我的回答是关于决策树的一般问题,而不是关于R实现的问题。决策树... 查看详情

如何在 Weka 构建的决策树中找到特征重要性

】如何在Weka构建的决策树中找到特征重要性【英文标题】:HowtofindfeatureimportanceinaWeka-builtdecisiontree【发布时间】:2012-07-1902:32:51【问题描述】:我使用Weka成功构建了J48(C4.5)决策树。我现在想评估我的功能的有效性或重要性。一... 查看详情

构建决策树时如何找到分裂点的熵?

】构建决策树时如何找到分裂点的熵?【英文标题】:HowtofindEntropyofSplitpointswhenbuildingDecisiontree?【发布时间】:2017-08-1704:23:14【问题描述】:给定一个二分类问题:有四个正面例子和五个负面例子。因此,P(+)=4/9和P(-)=5/9。训练... 查看详情

决策树

...原理对一系列问题进行if/else推导,最终实现决策决策树构建#导入numpyimportnumpyasnp#导入画图工具importmatplotlib.pyplotaspltfrommatplotlib.colorsimportListedColormap#导入树模型和数据集加载工具fromsklearnimporttree,datasets#导入数据集拆分工具fromskle... 查看详情

当我的因变量中有 4 个类别时想要构建决策树

】当我的因变量中有4个类别时想要构建决策树【英文标题】:Wanttobuildadecisiontreewhenihave4categoriesinmydependentvariable【发布时间】:2017-06-2900:23:35【问题描述】:我想构建一个决策树,但我的因变量中有4个类别(1、2、3、4)。我该... 查看详情