当前位置:   article > 正文

决策树算法及应用_如果样本集合d中第类样本所占的比例为,则d的信息熵为

如果样本集合d中第类样本所占的比例为,则d的信息熵为

1、划分选择

1.1信息增益

样本集合D中第k类样本所占的比例为pk(k=1,2,……|y|),则D的信息熵定义为:
在这里插入图片描述
Enter(D)越小,D的纯度越高。
离散属性a有V个可能取值:
在这里插入图片描述
v个分支节点包含D中所有在a上取值为a^V 的样本,记为D ^V,则信息增益定义为:
在这里插入图片描述
信息增益越大,利用属性a进行划分的纯度提升就越大,ID3算法就是根据信息增益为准则来选择划分属性。

1.2增益率

信息增益准则对可能取值数目较多的属性有所偏好,为减少这种偏好带来的不利影响,提出信息增益率的概念,概念如下:
在这里插入图片描述
增益率准则对可取数值数目较少的属性有所偏好,故C4.5算法不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

1.3基尼指数

Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。所以基尼指数越小,数据集D的纯度越高。(CART)
在这里插入图片描述
属性a的基尼指数定义为:
在这里插入图片描述
注:预防过拟合的方法——剪纸处理

2、sklearn.tree.DecisionTreeClassifier参数介绍

相关参数:
criterion:默认是‘gini’系数,也可以选择信息增益的熵‘entropy’;
splitter :分离器,每个节点选择拆分的方法,默认设置为‘best’;
max_depth:树的最大深度:根节点到子节点层数,常用取值10-100之间。
random_state:随机数种子
class_weight:指定样本各类别权重,防止训练集某些类别样本量过多,导致训练集偏向这些类别。可以指定各个样本的权重,或者用"balanced"算法自动计算权重,类别少相应权重高。分布相对均匀,可以忽略该参数。
min_samples_split:限制子树继续划分条件,如果样本数少于min_samples_split,则不会继续再尝试选择最优特征来进行划分。样本量不大的情况下,可以不用管这个值。样本量大,适当增大这个值,防止过拟合。
min_samples_leaf:限制叶子节点最小样本数,如果某叶子节点小于样本数,则会和兄弟节点一起被剪枝。默认是1,可以输入最少样本整数,或者样本总数的百分比。

注:
(1)参数解释参考博文链接:https://blog.csdn.net/me_to_007/article/details/90007319;
(2)sklearn决策树官网解释链接:https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier.html#sklearn.tree.DecisionTreeClassifier

3、决策树实例

Titanic 乘客生存预测
数据集:https://github.com/cystanford/Titanic_Data,其中数据集格式为 csv,一共有两个文件:
train.csv 是训练数据集,包含特征信息和存活与否的标签;
test.csv: 测试数据集,只包含特征信息。
现在我们需要用决策树分类对训练集进行训练,针对测试集中的乘客进行生存预测,并告知分类器的准确率。
在训练集中,包括了以下字段,它们具体为:

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/833444
推荐阅读
相关标签
  

闽ICP备14008679号