决策树学习心得

        决策树是一种解决分类问题的方法。它是一种树形结构,本质是一颗由多个节点组成的树,其中每一个内部节点表示一个属性上的判断,每一个分支代表一个判断结果的输出,每一个叶节点代表一种分类结果。

 熵的概念:

        熵表示物体内部的混乱程度,决策树中熵的计算公式:  ​ ​​

(这里是log以2 为底的)熵值越高,数据不确定性越高

若只有两类则上公式变形为:

信息增益 :

        表示由于(选择)数据集的某一特征而使得对数据D的分类不确定性(熵)减少的程度。

公式: g(D,A)=H(D)−H(D|A)

g(D,A):特征A 对数据集D的信息增益。

H(D):数据集D的经验熵

H(D|A):在选择数据集D中的特征A的条件下,数据集D的经验条件熵

信息增益比:

        

 信息增益比即:为其信息增益g(D,A)与训练数据集D关于特征A的值的熵(可以理解成特征A自身的熵,即把特征A当成一个数据集)HA(D)之比

 

        信息增益比本质: 是在信息增益的基础之上乘上一个惩罚参数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大。惩罚参数:数据集D以特征A作为随机变量的熵的倒数。

基尼指数:

         基尼指数也是一种判断数据纯度的方法:假设有K个类,样本点属于第k类的概率为pk,基尼系数越小,模型的不纯度越低,特征越好。

决策树的生成:

        生成原则:树越低越好,选择特征当根节点的时候信息增益越大越好(ID3算法),且信息增益比越大越好(C4.5算法)

决策树的处理

        为了防止叶子节点过多导致过拟合,必须要对决策树进行剪枝

        先剪枝:

        给出一个阈值,当一个节点分割导致的最大的不纯度下降小于a时,就把该节点看作是叶子结点。该方法选择的阈值对决策树的构建有很大的影响。

(1)当阈值a选择的过大的时候,节点的不纯度依然很高就停止了分裂。此时的树由于生长不足,导致决策树过小,分类的错误率过高。因此需要调整a参数的合理范围之内的值。

(2)当阈值a选择的过小的时候,比如a接近0,节点的分割过程近似于原始的分割过程。        

       后剪枝:

(1)用新的叶子结点替换子树,该叶子结点的类标号由子树记录中的多数类决定。

(2)用子树中最常用的分支替代子树。

通常计算前后预期分类错误率,如果修剪导致预期分类错误率变大,则放弃修剪,保留相应的各个分支,否则就将相应的节点分支修剪删除。

通常采用后剪枝技术是最小的错误剪枝(MEP)技术,即在产生一系列的经过修剪后的决策树候选之后,利用一个独立的测试数据集,对这些经过修剪之后的决策树的分类准确性进行评价,保留下预期分类错误率最小的(修剪后)决策树。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python中,有多种可用的决策树算法。其中一种常用的算法是基于ID3(Iterative Dichotomiser 3)的决策树算法。该算法通过选择最大信息增益的特征来进行节点划分。另一种常用的算法是CART(Classification and Regression Trees),它使用基尼系数或均方差来进行节点划分。 决策树算法可以应用于分类问题和回归问题。对于分类问题,决策树算法可以根据特征将数据集划分为不同的类别。对于回归问题,决策树算法可以根据特征预测数值型的输出。 下面是一个使用Python中的决策树算法构建决策树的示例代码: ```python from sklearn import tree # 创建特征矩阵 X = [[0, 0], [1, 1]] # 创建目标向量 y = [0, 1] # 创建决策树分类器 clf = tree.DecisionTreeClassifier() # 使用训练数据拟合分类器模型 clf = clf.fit(X, y) # 进行预测 prediction = clf.predict([[2., 2.]]) ``` 这段代码使用了scikit-learn库中的决策树分类器。首先,我们创建了一个特征矩阵X和一个目标向量y作为训练数据。然后,我们创建了一个决策树分类器clf,并使用训练数据拟合分类器模型。最后,我们使用训练好的模型进行预测。 决策树算法的优缺点如下所示: 优点: - 算法具有可解释性,可以生成可视化的决策树模型。 - 可以处理数值型和类别型的数据。 - 对缺失值和异常值具有较好的鲁棒性。 - 算法学习过程中不需要用户了解过多的背景知识。 缺点: - 容易过拟合,特别是在处理复杂数据集时。 - 对于连续型特征,可能会产生过多的分裂点,导致决策树过于复杂。 - 对于不平衡的数据集,可能会导致决策树出现偏差。 希望这些信息能够帮助到您!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值