首先,看大佬的文章
https://blog.csdn.net/qq_42433311/article/details/124171221
很6,看完对决策数的理解会上一层楼,其中的交叉验证如何使用,pd. Dates如何使用,多看看,去实践,更熟练,
接上篇决策树的三个方面
ID3:ID3 算法最早是由罗斯昆(J. Ross Quinlan)于1975年提出的一种决策树构建算法,算法的核心是“信息熵”,期望信息越小,信息熵越大,样本纯度越低。。
ID3 算法是以信息论为基础,以信息增益为衡量标准,从而实现对数据的归纳分类。
ID3 算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。
ID3算法其大致步骤为:
初始化特征集合和数据集合;
计算数据集合信息熵和所有特征的条件熵,选择信息增益最大的特征作为当前决策节点;
更新数据集合和特征集合(删除上一步使用的特征,并按照特征值来划分不同分支的数据集合);
重复 2,3 两步,若子集值包含单一特征,则为分支叶子节点。
信息熵:不会怎么把公式打进来,直接文字描述
求和∑分类类别的概率*log(以2为底的对数函数)上面是分类类别概率
条件熵:和信息熵一样,就是概率不一样,信息熵是最后分类的标签的概率,条件熵是每个特征的概率,看实例更容易理解
信息增益:信息熵-条件熵
C4.5
C4.5 算法是 Ross 对 ID3 算法的改进。用信息增益率来选择属性。ID3选择属性用的是子树的信息增益,而C4.5用的是信息增益率。在决策树构造过程中进行剪枝。对非离散数据也能处理。能够对不完整数据进行处理。
基尼指数:
比较重要,大部分应用都是基尼指数,看最上面的那个会很好的理解
Classification and Regression Tree (CART) 是决策树的一种。用基尼指数来选择属性(分类),或用均方差来选择属性(回归)。顾名思义,CART算法既可以用于创建分类树,也可以用于创建回归树,两者在构建的过程中稍有差异。如果目标变量是离散的,称为分类树。如果目标变量是连续的,称为回归树。
剪枝策略:
为了尽可能正确分类训练样本,有可能造成分支过多,造成过拟合。泛化性能通过剪枝处理去掉一些分支来降低过拟合。
剪枝的基本策略有“预剪枝”(prepruning)和“后剪枝”(post-pruning)预剪枝(pre-pruning):
预剪枝:
是什么:在决策树生长过程中,对每个结点在划分前进行估计,若当前结点的划分不能带来决策树泛化性能的提升,则停止划分并将当前结点标记为叶结点。
剪枝策略:在节点划分前来确定是否继续增长,及早停止增长主要方法有:节点内数据样本低于某一阈值;所有节点特征都已分裂;节点划分前准确率比划分后准确率高。
「预剪枝」过程如下:将其标记为叶结点,类别标记为训练样例中最多的类别。
后剪枝(post-pruning):
1.先从训练集生成一颗完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能的提升,则将该子树替换为叶结点。
2.在已经生成的决策树上进行剪枝,从而得到简化版的剪枝决策树。后剪枝决策树通常比预剪枝决策树保留了更多的分支。一般情况下,后剪枝的欠拟合风险更小,泛化性能往往优于预剪枝决策树。
预剪枝和后剪枝的特点:
1.时间开销:
预剪枝:训练时间开销降低,测试时间开销降低。后剪枝:训练时间开销增加,测试时间开销降低。
2.过/欠拟合风险:预剪枝:过拟合风险降低,欠拟合风险增加。后剪枝:过拟合风险降低,欠拟合风险基本不变。
3.泛化性能:后剪枝通常优于预剪枝
连续值和离散值的处理:
对于离散取值的特征,决策树的划分方式是:选取一个最合适的特征属性,然后将集合按照这个特征属性的不同值划分为多个子集合,并且不断的重复这种操作的过程。对于连续值属性,需要连续属性离散化处理,常用的离散化策略是二分法,这个技术也是 C4.5 中采用的策略。
决策树是直观的,其决策也易于解释。这种模型通常称为白盒模型。通常将随机森林或神经网络视为黑盒模型。它们做出了很好的预测,你可以轻松地检查它们为做出这些预测而执行的计算。但是,通常很难用简单的话语来解释为什么做出这样的预测。决策树提供了很好的、简单的分类规则,如果需要的话,甚至可以手动应用这些规则