当前位置: 首页 > 面试题库 >

xgboost,rf,lr优缺点场景?

乐正育
2023-03-14
本文向大家介绍xgboost,rf,lr优缺点场景?相关面试题,主要包含被问及xgboost,rf,lr优缺点场景?时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

Xgboost:

优缺点:1)在寻找最佳分割点时,考虑传统的枚举每个特征的所有可能分割点的贪心法效率太低,xgboost实现了一种近似的算法。大致的思想是根据百分位法列举几个可能成为分割点的候选者,然后从候选者中根据上面求分割点的公式计算找出最佳的分割点。2)xgboost考虑了训练数据为稀疏值的情况,可以为缺失值或者指定的值指定分支的默认方向,这能大大提升算法的效率,paper提到50倍。3)特征列排序后以块的形式存储在内存中,在迭代中可以重复使用;虽然boosting算法迭代必须串行,但是在处理每个特征列时可以做到并行。4)按照特征列方式存储能优化寻找最佳的分割点,但是当以行计算梯度数据时会导致内存的不连续访问,严重时会导致cache miss,降低算法效率。paper中提到,可先将数据收集到线程内部的buffer,然后再计算,提高算法的效率。5)xgboost 还考虑了当数据量比较大,内存不够时怎么有效的使用磁盘,主要是结合多线程、数据压缩、分片的方法,尽可能的提高算法的效率。

适用场景:分类回归问题都可以。

Rf:

优点:1)表现性能好,与其他算法相比有着很大优势。2)随机森林能处理很高维度的数据(也就是很多特征的数据),并且不用做特征选择。3)在训练完之后,随机森林能给出哪些特征比较重要。4)训练速度快,容易做成并行化方法(训练时,树与树之间是相互独立的)。5)在训练过程中,能够检测到feature之间的影响。6)对于不平衡数据集来说,随机森林可以平衡误差。当存在分类不平衡的情况时,随机森林能提供平衡数据集误差的有效方法。7)如果有很大一部分的特征遗失,用RF算法仍然可以维持准确度。8)随机森林算法有很强的抗干扰能力(具体体现在6,7点)。所以当数据存在大量的数据缺失,用RF也是不错的。9)随机森林抗过拟合能力比较强(虽然理论上说随机森林不会产生过拟合现象,但是在现实中噪声是不能忽略的,增加树虽然能够减小过拟合,但没有办法完全消除过拟合,无论怎么增加树都不行,再说树的数目也不可能无限增加的)。10)随机森林能够解决分类与回归两种类型的问题,并在这两方面都有相当好的估计表现。(虽然RF能做回归问题,但通常都用RF来解决分类问题)。11)在创建随机森林时候,对generlization error(泛化误差)使用的是无偏估计模型,泛化能力强。

缺点:1)随机森林在解决回归问题时,并没有像它在分类中表现的那么好,这是因为它并不能给出一个连续的输出。当进行回归时,随机森林不能够做出超越训练集数据范围的预测,这可能导致在某些特定噪声的数据进行建模时出现过度拟合。(PS:随机森林已经被证明在某些噪音较大的分类或者回归问题上回过拟合)。2)对于许多统计建模者来说,随机森林给人的感觉就像一个黑盒子,你无法控制模型内部的运行。只能在不同的参数和随机种子之间进行尝试。3)可能有很多相似的决策树,掩盖了真实的结果。4)对于小数据或者低维数据(特征较少的数据),可能不能产生很好的分类。(处理高维数据,处理特征遗失数据,处理不平衡数据是随机森林的长处)。5)执行数据虽然比boosting等快(随机森林属于bagging),但比单只决策树慢多了。

适用场景:数据维度相对低(几十维),同时对准确性有较高要求时。因为不需要很多参数调整就可以达到不错的效果,基本上不知道用什么方法的时候都可以先试一下随机森林。

Lr:

优点:实现简单,广泛的应用于工业问题上;分类时计算量非常小,速度很快,存储资源低;便利的观测样本概率分数;对逻辑回归而言,多重共线性并不是问题,它可以结合L2正则化来解决该问题。

缺点:当特征空间很大时,逻辑回归的性能不是很好;容易欠拟合,一般准确度不太高

不能很好地处理大量多类特征或变量;只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;对于非线性特征,需要进行转换。

适用场景:LR同样是很多分类算法的基础组件,它的好处是输出值自然地落在0到1之间,并且有概率意义。因为它本质上是一个线性的分类器,所以处理不好特征之间相关的情况。虽然效果一般,却胜在模型清晰,背后的概率学经得住推敲。它拟合出来的参数就代表了每一个特征(feature)对结果的影响。也是一个理解数据的好工具。

 类似资料:
  • 主要内容:Tableau的优点,Tableau的缺点Tableau的优点 Tableau的优点如下 - 数据可视化: Tableau是一种数据可视化工具,提供复杂的计算,数据混合和仪表板,用于创建漂亮的数据可视化。 快速创建交互式可视化: 用户可以使用Tableau的拖放功能创建非常交互式的可视化。 实施舒适: Tableau中提供了许多类型的可视化选项,可增强用户体验。与Python相比,Tableau非常容易学习。对编码不了解的用户也可以快速学

  • 主要内容:1) 大量的可用软件及免费软件,2) 良好的可移植性及灵活性,3) 优良的稳定性和安全性,4) 支持几乎所有的网络协议及开发语言前面章节提到,相比 Windows 系统,Linux 系统有更好的稳定性,那么除此之外,Linux 系统还有那些优点(或者不足)呢?本节带领大家详细了解一下。 1) 大量的可用软件及免费软件 Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache、Samba、 PHP、 MySQL 等,构建成本低廉,是 Linux 被众多企业青

  • 本文向大家介绍ant-design优点和缺点?相关面试题,主要包含被问及ant-design优点和缺点?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 优点:组件非常全面,样式效果也都比较不错。 缺点:框架自定义程度低,默认UI风格修改困难。

  • 希望这个问题证明是有建设性的,不会让我生气(“你试过谷歌吗?”)。我正慢慢地从java新手状态中爬出来,目前面临着一个需要做出的决定,即我需要为涉及测试RESTful服务的工作构建一个项目。我们有一个使用HTTPClient的内部java框架设置。然而,我读到了一些建议,其中指出,当您处理RESTful服务时,最好使用特定于REST的工具,比如Jersey。这里的一位开发人员建议我使用RestTe

  • 主要内容:1.优缺点,2.使用注意事项,3.适用场景,4.应用场景1.优缺点 优点: 在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。这样就 防止其它对象对自己的实例化,确保所有的对象都访问一个实例 单例模式具有一定的伸缩性,类自己来控制实例化进程,类就在改变实例化进程上有相应的伸缩性。 提供了对唯一实例的受控访问。 由于在系统内存中只存在一个对象,因此可以 节约系统资源,当 需要频繁创建和销毁的对象时单例模式无疑可以提高系统

  • 本文向大家介绍object-c 的优缺点 ?相关面试题,主要包含被问及object-c 的优缺点 ?时的应答技巧和注意事项,需要的朋友参考一下 objc优点: 1) Cateogies 2) Posing 3) 动态识别 4) 指标计算 5)弹性讯息传递 6) 不是一个过度复杂的 C 衍生语言 7) Objective-C 与 C++ 可混合编程 缺点: 1) 不支援命名空间 2) 不支持运算符重