importance中信息增益和基尼系数

这篇具有很好参考价值的文章主要介绍了importance中信息增益和基尼系数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.信息增益和基尼系数的异同点

信息增益和基尼系数都是用于评价决策树分裂节点的指标,它们有以下主要的相同点和不同点:

相同点:

  • 都用于测度数据集的无序程度(impurity),可以评价分裂后的无序程度减少量
  • 取值范围都在0到1之间,0表示完全有序
  • 都遵循同一思路,优先选择造成无序程度最大减少的特征进行分裂

不同点:

  • 计算方式不同
    • 信息增益基于香农熵,衡量分裂前后信息的变化量
    • 基尼系数基于数据集标记的概率分布,衡量分裂前后不确定性变化量
  • 信息增益更倾向选择取值较多的特征
  • 基尼系数在小数据集上表现更稳定

综合来说,两者都可以有效指导决策树的特征选择,但计算和偏好上有一定差异。需要根据数据集和问题领域选择合适的指标。一般来说,分类问题使用信息增益,回归问题使用基尼系数的情况较多。

2.如何判断是使用的信息增益还是基尼指数

决策树在选择特征时使用的指标,决定使用信息增益还是基尼系数主要取决于以下两个因素:

算法实现

不同的决策树算法实现会有默认的指标选择。例如:

  • scikit-learn中的DecisionTreeClassifier默认使用基尼系数
  • CART算法通常默认使用基尼系数
  • ID3算法默认使用信息增益
  • 需要查看具体的算法实现来确认默认使用的是哪个指标。

参数设定

一些算法实现同时支持信息增益和基尼系数两种指标,可以通过参数进行设定。

例如scikit-learn中的DecisionTreeClassifier,可以通过criterion参数设定:

  • criterion='gini' 使用基尼系数
  • criterion='entropy' 使用信息增益

所以综合以上两点,可以查看算法的具体实现,以及参数配置,来判断该算法是否使用信息增益或基尼系数作为划分特征的评价指标。大多数实现会有默认的指标,也支持通过参数进行修改。理解算法的原理可以帮助我们做出正确的判断。

3.各个算法的默认参数

常见的几种决策树算法的参数默认使用的特征划分指标如下:

  • ID3算法:默认使用信息增益(information gain)
  • C4.5算法:默认使用信息增益
  • CART算法:默认使用基尼系数(Gini impurity)
  • Scikit-Learn的DecisionTreeClassifier:默认使用基尼系数
  • Scikit-Learn的DecisionTreeRegressor:默认使用均方差(mean squared error)
  • Spark MLlib的DecisionTree:默认使用基尼系数
  • XGBoost: 默认使用基尼系数
  • LightGBM: 默认使用基尼系数

所以信息增益更多地在ID3、C4.5中被作为默认指标。

而基尼系数被更多地应用于CART、Scikit-Learn中的决策树,以及集成算法(随机森林、GBDT等)中。

当然,许多算法实现也提供了通过参数修改指标的功能。

正确理解并配置算法的参数,可以帮助我们构建出有效的决策树模型。

4.与默认指标不同的设定

LightGBM也可以使用信息增益作为决策树划分的指标。

LightGBM默认使用基尼系数来选择划分特征,但也提供了使用信息增益的功能选项。

具体来说,在LightGBM的算法参数中,有一个名为"metric"的参数,它决定了评价特征划分的指标。默认值为"None",表示使用基尼系数。

如果设置metric='entropy',则会使用信息增益来选择特征,所以虽然此时假如不设定具体的参数会默认使用基尼指数来进行特征划分,但是也可以通过修改参数来使用信息增益进行特征选择。

import lightgbm as lgb
params = {'metric': 'entropy'} 
model = lgb.train(params, lgb_dataset)

 所以您看到的LightGBM使用信息增益(entropy),很可能是通过指定了这个metric参数来实现的。

尽管默认是基尼系数,但LightGBM提供了灵活的指标选择,我们可以根据问题需要进行配置。

5.根据不同的情况选择特征

在决策树算法中,根据不同的情况选择使用信息增益或基尼系数的一些经验准则如下:

  1. 分类问题更倾向使用信息增益,回归问题更倾向使用基尼系数。
  2. 如果特征取值范围差异很大,信息增益更适合,因为它偏向选择取值范围广的特征。
  3. 如果样本量少于50,基尼系数表现更稳定。
  4. 类别不均衡的数据集建议使用信息增益,因为基尼系数容易偏向主要类别。
  5. 需要快速构建模型,基尼系数计算上更有优势。
  6. 对训练时间敏感的大数据集,基尼系数更高效。
  7. 喜好树的结构简单的情况,基尼系数可能更合适。
  8. 想要获得可解释性强的树,信息增益更适合。

总结一下,信息增益偏向分类问题,基尼系数偏向回归;信息增益适用于取值范围差异大和类别不均衡的数据;基尼系数在小样本和大数据集上表现更好。可以根据数据集统计特点和问题需求进行选择。也可以尝试两者,看分类准确率或回归效果哪个指标更优。文章来源地址https://www.toymoban.com/news/detail-693935.html

importances = svr.coef_
sorted_idx = np.argsort(np.abs(importances))[::-1]

到了这里,关于importance中信息增益和基尼系数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器学习---决策树的划分依据(熵、信息增益、信息增益率、基尼值和基尼指数)

    1. 熵 物理学上,熵 Entropy 是“混乱”程度的量度。 系统越有序,熵值越低;系统越混乱或者分散,熵值越⾼。 1948年⾹农提出了信息熵(Entropy)的概念。        从信息的完整性上进⾏的描述:当系统的有序状态⼀致时,数据越集中的地⽅熵值越⼩,数据 越分散的地⽅熵值

    2024年02月10日
    浏览(47)
  • python机器学习(六)决策树(上) 构造树、信息熵的分类和度量、信息增益、CART算法、剪枝

    模拟相亲的过程,通过相亲决策图,男的去相亲,会先选择性别为女的,然后依次根据年龄、长相、收入、职业等信息对相亲的另一方有所了解。 通过决策图可以发现,生活中面临各种各样的选择,基于我们的经验和自身需求进行一些筛选,把判断背后的逻辑整理成结构图,

    2024年02月14日
    浏览(49)
  • 【海量数据挖掘/数据分析】之 决策树模型(决策树模型、决策树构成、决策树常用算法、决策树性能要求、信息增益、信息增益计算公式、决策树信息增益计算实例)

    目录 【海量数据挖掘/数据分析】之 决策树模型(决策树模型、决策树构成、决策树常用算法、决策树性能要求、信息增益、信息增益计算公式、决策树信息增益计算实例) 一、决策树模型 1、常用算法 2、属性划分策略 3、其他算法 三、决策树算法性能要求 四、 决策树模型

    2024年02月13日
    浏览(58)
  • 机器学习2:决策树--基于信息增益的ID3算法

      建立决策树的过程可以分为以下几个步骤: 计算每个特征的信息增益或信息增益比,选择最优的特征作为当前节点的划分标准。 根据选择的特征将数据集划分为不同的子集。 对每个子集递归执行步骤 1 和步骤 2,直到满足终止条件。 构建决策树,并输出。 计算每个特征的

    2024年02月06日
    浏览(54)
  • 信息熵,信息增益,增益率的理解

    编号 色泽 根蒂 敲声 纹理 脐部 触感 好瓜 1 青绿 蜷缩 浊响 清晰 凹陷 硬滑 是 2 乌黑 蜷缩 沉闷 清晰 凹陷 硬滑 是 3 乌黑 蜷缩 浊响 清晰 凹陷 硬滑 是 4 青绿 蜷缩 沉闷 清晰 凹陷 硬滑 是 5 浅白 蜷缩 浊响 清晰 凹陷 硬滑 是 6 青绿 稍蜷 浊响 清晰 稍凹 软粘 是 7 乌黑 稍蜷 浊

    2024年02月12日
    浏览(36)
  • Python——Kmeans聚类算法、轮廓系数(算法理论、代码)

    目录 1 Kmeans模型理论 1.1 K-均值算法(K-means)算法概述 1.2 距离度量 1.3 K-means算法流程 1.4 K值的选择 1.5 K-means的优点 1.6 K-means的缺点 1.7 聚类的评价指标 2 代码解释 3 实操  3.1 构建聚类数目为3的KMeans模型 3.2 占比饼图 3.3 轮廓系数值 3.4 使用for循环计算聚类个数为2至9时的轮廓

    2024年02月01日
    浏览(53)
  • 信息增益-决策树

    表8.1给出的是带有标记类的元组的训练集D; 类标号属性 buys_computer有两个不同值:{yes, no} 设 类 C1 → rightarrow → yes,C2 → rightarrow → no; 已知:C1包含9个元组,C2包含5个元组; age:{‘youth’, ‘middle_aged’, ‘senior’} youth middle_aged senior yes 2 4 3 no 3 0 2 对于 y o u t h youth yo u

    2024年03月19日
    浏览(46)
  • 【机器学习】信息量、香农熵、信息增益(增加例子,方便理解)

    B站视频:“交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵” 举个例子:   如果有人告诉你,今天太阳从东边出来了,那么这条信息的信息量就 很低 ,因为每天的太阳 常常从 东边出来。  但是,突然某一天有人告诉你,今天

    2024年02月04日
    浏览(45)
  • 信息熵与信息增益在决策树生成中的使用

        决策树是机器学习算法的一种,它主要对给定数据集合根据相关属性生成一个类似树结构的一种决策机制。     生成树结构,其实可以很随便,只要根据特征值的分支做分叉,把所有的特征遍历完成,这棵树就是一颗决策树。但是要生成一个最优决策树,我们需要选择合

    2024年02月16日
    浏览(42)
  • 决策树的划分依据之:信息增益率

    在上面的介绍中,我们有意忽略了\\\"编号\\\"这一列.若把\\\"编号\\\"也作为一个候选划分属性,则根据信息增益公式可计算出它的信息增益为 0.9182,远大于其他候选划分属性。 计算每个属性的信息熵过程中,我们发现,该属性的值为0, 也就是其信息增益为0.9182. 但是很明显这么分类,最后

    2024年02月14日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包