本发明专利技术公开了一种用于XGBoost模型的解释方法,包括以下步骤:对XGBoost模型进行树模型元结构解析,以解析出每个单棵树的树结构;对所述XGBoost模型输入测试样本,根据树结构获取所述测试样本对应的有效叶子节点以及有效叶子节点的树的有效路径;根据有效路径计算出特征的贡献值;以及,根据获取到的贡献值对所述XGBoost模型进行解释。本发明专利技术根据XGBoost模型的结构信息,同时利用树型结构的路径来有效地对XGBoost模型的判别结果进行解释。
【技术实现步骤摘要】
用于XGBoost模型的解释方法
本专利技术涉及机器学习
,特别涉及一种基于树型结构路径的用于XGBoost模型(梯度提升模型)的解释方法、电子设备和计算机可读介质。
技术介绍
目前,现有的模型解释方法一般有以下三种:1、通过求解出一个特征的重要性,即FeatureImportance;2、希望能够用一个线性模型来拟合复杂模型的局部样本点,如LIME方法(复杂模型可解释性方法);3、通过求解出每一个特征的贡献值,如SHAP(SHapleyAdditiveexPlanations,一种解释模型输出的方法)值。以上几种方法在一定程度上能够解决关于复杂模型解释问题,但是本身存在一定缺陷。特征重要性(FeatureImportance)能够很好的表达出一个特征对模型整体预测的重要性,但是主要存在两方面的缺陷,一、特征重要性指标不能够表达特征对模型预测结果的正负相关性;二、特征重要性是一个整体指标,不同样本的特征会应为数值的变化而产生不一样的影响。根据局部线性方法来拟合复杂模型进而解释复杂模型能够解决特征重要性的两个缺陷,但是本身由于是局部解释,不能够有效地进行多样本之间的对比,同时线性的模型不能够表达出复杂模型中所发掘出的特征相互作用的影响,因子法也是跟LIME类似。SHAP指标能够解决如LINME方法中的第一个缺陷,但是不能够较好地突显出特征相互作用的影响,尤其是在树状结构中的特征之间继承关系对最终决策的影响。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中无法有效地对XGBoost模型的判别结果进行解释的缺陷,提供一种基于树型结构路径的用于XGBoost模型的解释方法、电子设备和计算机可读介质。本专利技术是通过下述技术方案来解决上述技术问题:一种用于XGBoost模型的解释方法,包括以下步骤:对XGBoost模型进行树模型元结构解析,以解析出每个单棵树的树结构;对所述XGBoost模型输入测试样本,根据树结构获取所述测试样本对应的有效叶子节点以及有效叶子节点的树的有效路径;根据有效路径计算出特征的贡献值;以及,根据获取到的贡献值对所述XGBoost模型进行解释。可选地,还包括以下步骤:根据解析出的每个单棵树的树结构获取每个单棵树的叶子节点。可选地,还包括以下步骤:根据获取到的每个单棵树的叶子节点反向递推求解出整棵树的每个节点的贡献值。可选地,所述根据树结构获取所述测试样本对应的有效叶子节点以及有效叶子节点的树的有效路径的步骤包括:通过模型预测结果获取一组有效叶子节点,并且根据有效叶子节点的位置信息及树结构计算出有效叶子节点的树的有效路径。可选地,还包括以下步骤:根据有效路径还计算出特征组合的贡献值。可选地,根据有效路径计算出特征的贡献值及特征组合的贡献值的步骤包括:通过获取到的有效路径匹配出对应的特征,通过拆分有效路径获取特征组合,并且计算出特征的贡献值及特征组合的贡献值。可选地,所述根据获取到的贡献值对所述XGBoost模型进行解释的步骤包括:根据获取到的贡献值对所述XGBoost模型进行合理性解释,以输出用于表征所述XGBoost模型的合理性的信息。可选地,所述对XGBoost模型进行树模型元结构解析的步骤包括:对训练后的XGBoost模型进行树模型元结构解析。一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现如上述的用于XGBoost模型的解释方法的步骤。一种计算机可读介质,其上存储有计算机指令,所述计算机指令在由处理器执行时实现如上述的用于XGBoost模型的解释方法的步骤。在符合本领域常识的基础上,所述各优选条件,可任意组合,即得本专利技术各较佳实施例。本专利技术的积极进步效果在于:本专利技术提供的用于XGBoost模型的解释方法,根据XGBoost模型的结构信息,同时利用树型结构的路径来有效地对XGBoost模型的判别结果进行解释,所获得的解释是对XGBoost模型的一种全局解释,能够友好地进行不同样本之间的对比,解释结果能够挖掘复杂模型中所学习到的特征之间交互和继承的关系,进而实现高维特征的解释,而不仅仅停留在单维特征因子上。附图说明在结合以下附图阅读本公开的实施例的详细描述之后,能够更好地理解本专利技术的所述特征和优点。在附图中,各组件不一定是按比例绘制,并且具有类似的相关特性或特征的组件可能具有相同或相近的附图标记。图1为根据本专利技术的一实施例的用于XGBoost模型的解释方法的流程示意图。图2为根据本专利技术的一实施例的基于二叉树的覆盖值的示意图。图3为根据本专利技术另一实施例的实现用于XGBoost模型的解释方法的电子设备的结构示意图。具体实施方式下面通过实施例的方式进一步说明本专利技术,但并不因此将本专利技术限制在所述的实施例范围之中。为了克服目前存在的上述缺陷,本实施例提供一种用于XGBoost模型的解释方法,所述解释方法包括以下步骤:对XGBoost模型进行树模型元结构解析,以解析出每个单棵树的树结构;对所述XGBoost模型输入测试样本,根据树结构获取所述测试样本对应的有效叶子节点以及有效叶子节点的树的有效路径;根据有效路径计算出特征的贡献值;以及,根据获取到的贡献值对所述XGBoost模型进行解释。在本实施例中,模型解释不是指模型的泛化性等理论保证,也不是指复杂模型的理论解释,而是指模型判别过程是否能够转化成具备逻辑关系的规则。通常,解释一个XGBoost模型的表现是一件很复杂事情。XGBoost模型相对于线性模型在进行预测时往往有更好的精度,但是同时也失去了线性模型的可解释性。所以XGBoost模型通常被认为是黑箱模型。在本实施例中,所述解释方法可以有效地对XGBoost模型的判别结果进行解释。模型解释有两个重要因素:1、探查驱动模型预测因素;2、相信模型预测。以上两个因素从实际生产角度来看,可以做出如下解释:了解什么因素驱动模型进行预测,也就能够更好的服务于供应商对本身产品在对应因素上做出相关的努力来改善产品榜单排名;相信模型做出的预测是从模型开发者和模型使用者、关键利益相关者两方面考虑的。首先,模型开发者需要通过模型解释相信模型做出的预测结果,加深对模型的理解,排除模型训练失败,其次,需要通过模型解释让模型使用者,关键利益相关者信服模型结果。具体地,作为一实施例,如图1所示,本实施例的用于XGBoost模型的解释方法主要包括以下步骤:步骤101、解析模型。在本步骤中,由于XGBoost模型是集成模型,而且其基础模型是树模型,将训练好的XGBoost模型进行树模型元结构解析,以解析出每个单棵树的树结构。在本实施例中,优选地,所述XGBoost模型为训练后的XGBoost模型。具体地,在本步骤中,本文档来自技高网...
【技术保护点】
1.一种用于XGBoost模型的解释方法,其特征在于,包括以下步骤:/n对XGBoost模型进行树模型元结构解析,以解析出每个单棵树的树结构;/n对所述XGBoost模型输入测试样本,根据树结构获取所述测试样本对应的有效叶子节点以及有效叶子节点的树的有效路径;/n根据有效路径计算出特征的贡献值;以及,/n根据获取到的贡献值对所述XGBoost模型进行解释。/n
【技术特征摘要】
1.一种用于XGBoost模型的解释方法,其特征在于,包括以下步骤:
对XGBoost模型进行树模型元结构解析,以解析出每个单棵树的树结构;
对所述XGBoost模型输入测试样本,根据树结构获取所述测试样本对应的有效叶子节点以及有效叶子节点的树的有效路径;
根据有效路径计算出特征的贡献值;以及,
根据获取到的贡献值对所述XGBoost模型进行解释。
2.如权利要求1所述的解释方法,其特征在于,还包括以下步骤:
根据解析出的每个单棵树的树结构获取每个单棵树的叶子节点。
3.如权利要求2所述的解释方法,其特征在于,还包括以下步骤:
根据获取到的每个单棵树的叶子节点反向递推求解出整棵树的每个节点的贡献值。
4.如权利要求1所述的解释方法,其特征在于,所述根据树结构获取所述测试样本对应的有效叶子节点以及有效叶子节点的树的有效路径的步骤包括:
通过模型预测结果获取一组有效叶子节点,并且根据有效叶子节点的位置信息及树结构计算出有效叶子节点的树的有效路径。
5.如权利要求1所述的解释方法,其特征在于,还包括以下步骤:
根据有效路径还计算出特征组合的贡献值。
【专利技术属性】
技术研发人员:袁秋龙,周珊,江文斌,李健,
申请(专利权)人:上海携程国际旅行社有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。