首页 > 科技周边 > 人工智能 > ML和AI模型解释性和解释性

ML和AI模型解释性和解释性

Joseph Gordon-Levitt
发布: 2025-03-09 13:17:10
原创
807 人浏览过

在本文中,我们深入研究了机器学习和人工智能模型的解释性和解释性的概念。我们探讨了为什么了解模型如何做出预测至关重要,尤其是当这些技术用于医疗保健,金融和法律体系等关键领域时。通过Lime和Shap等工具,我们演示了如何获得对模型决策过程的见解,从而使复杂的模型更加透明。本文强调了解释性和可解释性之间的差异,并解释了这些概念如何有助于建立对AI系统的信任,同时还应对其挑战和局限性。

学习目标

了解机器学习中的模型可解释性和可解释性之间的区别
    了解石灰和塑造工具如何增强模型透明度和决策见解。
  • 探索解释性和可解释性在建立AI系统中的信任中的重要性。
  • 了解如何简化复杂的模型,以更好地理解而不损害性能。
  • 确定与AI模型可解释性和可解释性相关的挑战和局限性。
  • >目录的表
  • >
  • >可解释性和可解释性意味着什么,为什么它们在ML和AI?

>中的好处是改善模型的可解释性和可解释性
  • 流行的ML的可解释性和解释性和解释性
  • >在复杂模型中如何内置的解释性和可解释性在
  • 中如何起作用,石灰模型模型模型的决策如何起作用,以及如何解释其解释的解释?
  • 如何访问lime扰动的数据扰动数据?形状说明?
  • 如何实现和解释复杂XGBR模型的摘要图?
  • >如何实现和解释复杂XGBR模型的形状依赖图?模型解释性
  • >结论

常见问题

解释性和解释性是什么意思,为什么它们在ML和AI中至关重要?

解释性是回答模型决策背后的原因的过程。例如,我们可以说ML和AI模型在可以通过解释模型如何在树中拆分公共节点并解释其分开的逻辑来提供模型的决策的解释和推理时具有解释性。另一方面,可解释性是将模型的解释和决策转换给非技术用户的过程。它可以帮助数据科学家了解诸如权重和系数之类的事物,从而有助于模型预测,并帮助非技术用户了解该模型如何做出决策以及模型对做出这些预测的重要性。 随着AI和ML模型越来越复杂,具有数百个模型层以及数千至数十亿到数十亿到数十亿到数十亿的参数,例如在LLM和深度学习模型中,我们很难理解该模型的整体和本地观察水平的决策。模型解释性为模型内部运作的见解和推理提供了解释。因此,数据科学家和AI专家必须将解释性技术利用到其模型构建过程中,这也将提高模型的解释性。

提高模型的解释性和可解释性的好处

>下面我们将研究模型的解释性和解释性的好处:>

改进的信任

>信任是一个具有广泛含义的词。这是对某人或某物的可靠性,诚实或正直的信心。

>

>信任与人以及非生命的事物相关联。例如,依靠朋友的决策或依靠全自动驾驶汽车将您从一个地方运送到另一个地方。缺乏透明度和沟通也可能导致信任的侵蚀。同样,信任是通过小步骤和重复积极互动来建立的。当我们与某人或事物保持积极的互动时,它会增强我们对他们的可靠性,积极意图和无害性的信念。因此,信任是通过我们的经验随着时间的推移而建立的。

>,它对我们依靠ML&AI模型及其预测起着重要作用。

>

提高透明度和协作

>当我们可以解释机器或深度学习模型的内部运作,其决策过程以及规则和选择背后的直觉时,我们可以建立信任和问责制。它还有助于改善与利益相关者和合作伙伴的协作和参与。

>

改进的故障排除

>当某事断裂或无法按预期工作时,我们需要找到问题的根源。为此,对系统或模型的内部工作的透明度至关重要。它有助于诊断问题并采取有效的措施来解决问题。例如,考虑一个预测该人“ B”的模型,不应批准贷款。要理解这一点,我们必须检查模型的预测和决策。这包括确定“ B”观察人员优先级的模型的因素。 在这种情况下,模型的解释性将非常方便地研究模型的预测和与人相关的决策”。同样,在更深入地研究模型的内部运作时,我们可能会很快发现一些可能影响和影响模型决策的偏见。

因此,使用ML和AI模型具有解释性并利用它们将使故障排除,监视和持续改进有效,并有助于识别和减轻偏见以及错误以提高模型性能。

> ML的流行业务用例,AI解释性和解释性

>我们始终对该模型的总体预测能力感兴趣,以影响和做出数据驱动的知情决策。在银行和金融,零售,医疗保健,互联网等各种行业中,ML和AI模型有许多应用程序。商业,保险,汽车,制造,教育,电信,旅行,空间等

以下是一些示例:

>

银行和金融

对于银行和金融行业来说,识别合适的客户以提供贷款或发行信用卡很重要。他们也有兴趣防止欺诈性交易。此外,这个行业受到了高度监管。

要进行这些内部流程,例如申请批准和欺诈监控的有效,银行和财务杠杆ML和AI建模,以协助这些重要的决定。他们利用ML和AI模型根据某些给定和已知因素来预测结果。 通常,这些机构中的大多数不断监视交易和数据以检测模式,趋势和异常。对他们而言,重要的是有能力了解他们处理的每个应用程序的ML和AI模型预测。他们有兴趣了解模型预测背后的推理以及在做出预测中发挥重要作用的因素。

>现在,假设ML模型预测贷款申请将被拒绝对其一些信用评分高的客户拒绝,这似乎并不常见。在这种情况下,他们可以利用模型解释进行风险分析,并就模型决定拒绝客户应用的原因而获得更深入的见解,而哪些客户因素在此决策中起着重要作用。这一发现可能有助于他们检测,调查和减轻模型决策中的问题,漏洞和新偏见,并有助于提高模型绩效。

医疗保健

如今,在医疗保健行业中,ML/AI模型被利用以根据病史,实验室,生活方式,遗传学等来预测患者的健康结果。

假设医疗机构使用ML/AI模型来预测患者治疗的患者是否具有癌症者的可能性很高。由于这些问题涉及一个人的生活,因此AI/ML模型有望以很高的准确性来预测结果。 在这种情况下,

有能力深入研究模型的预测,利用的决策规则,并理解影响预测的因素变得很重要。医疗保健专业团队将进行尽职调查,并期望ML/AI模型的透明度提供与预测的患者结果和促成因素有关的清晰详细的解释。这是ML/AI模型解释性变得必不可少的地方。 此审问有时可能有助于发现模型决策中一些隐藏的漏洞和依据,并可以解决以改善未来的模型预测。

自动驾驶汽车

自动驾驶汽车是自动操作的车辆,例如汽车,货车,火车,飞机,飞机,飞船等。在此类车辆中,AI和ML型号在使这些车辆能够独立运行而无需人工干预的情况下独立运行。这些模型是使用机器学习和计算机视觉模型构建的。它们使自动驾驶汽车/车辆能够感知周围环境中的信息,做出明智的决定并安全地导航。

>在旨在在道路上操作的自动驾驶汽车,导航意味着实时自主指导车辆,即不需要人类干预即通过关键任务,例如检测和识别物体,识别交通信号和标志,预测对象行为,预测对象行为,维护车道,维持和计划途径,并采取适当的态度,并采取适当的决定,>零售

In the Retail industry, AI and ML models are used to guide various decisions such as product sales, inventory management, marketing, customer support and experience, etc. Having explainability with the ML and AI facilitates understanding of the model predictions, and a deeper look into issues related to predictions such as types of products not generating sales, or what will be the sales predictions for a particular store or outlet next month, or which products would have high demand, and needs to be stocked, or what marketing广告系列对销售等有积极的影响。

> 在上述业务用例中,我们可以清楚地看到,对于ML和AI模型,对整个模型以及个人预测具有指导业务决策并提高业务运营有效的个人预测非常重要。

>>>>>>>>>>>

>一些复杂的模型带有内置的解释性,而某些模型则依靠外部工具为此。如今,有几种可用的模型无关工具可以帮助我们添加模型解释性。我们将更深入地研究可用的两个此类工具。

>

>改善ML和AI模型的工具解释性和解释性

> 任何提供与模型决策过程以及模型预测中功能贡献有关的信息的工具均非常有帮助。通过可视化可以使解释更加直观。

>

在本文中,我们将更深入地研究添加ML和AI模型的两种外部工具的解释性和可解释性:

石灰(局部解释模型 - 敏捷的解释)

  • shap(外形添加说明)
  • >
  • 石灰是模型不可知论,这意味着可以通过任何机器学习和深度学习模型来实现它。它可以与机器学习模型(例如线性和逻辑回归,决策树,随机森林,Xgboost,knn,Elasticnet等)一起使用。

    >在假设可以使用一个简单的可解释模型来解释复杂模型的内部工作原理的假设。简单的可解释模型可以是简单的线性回归模型或决策树模型。在这里,我们利用一个简单的线性回归模型作为一种可解释的模型来使用石灰/塑形说明为复杂模型生成解释。

    石灰也称为local可解释的模型敏捷的解释,一次在单个观察结果上本地在本地进行了解释,并有助于我们了解该模型如何预测该观察结果的得分。它通过使用原始观测值的特征的扰动值创建合成数据来起作用。

    什么是扰动数据及其如何创建?

    >

    为为表格数据创建扰动的数据集,Lime首先采用观察中的所有功能,然后通过使用各种转换来稍微修改特征值来迭代为观察创建新值。扰动的值非常接近原始观察值,并且从邻域更靠近原始值。> 对于文本和图像数据类型,lime迭代通过随机从原始数据集中选择功能并创建新的扰动值,从该功能的功能创建新的扰动值,从而创建数据集。石灰内核宽度控制数据点邻域的大小。

    较小的内核大小意味着邻域很小,最接近原始值的点将显着影响解释,而对于较大的内核大小,遥远的点可能会导致石灰解释。

    更广泛的邻里大小将导致更精确的解释,但可以帮助发现数据中的一些更广泛的趋势。有关更精确的本地解释,应优先考虑小社区尺寸。>

    理解图

    通过下面的图(图1),我们试图对扰动的值,内核大小和邻域进行一些直觉。

    。 在讨论中,我们使用了BigMart数据集中的数据示例,这是一个回归问题。我们利用了石灰的表格数据。

    >

    >从BigMart数据集考虑观察#0。该观察值具有13值的特征“ item_type”。我们计算了此功能的平均值和标准偏差,我们的平均值为7.234,标准偏差等于4.22。这在上图中显示。然后,我们计算出等于1.366的z得分。

    > z得分左侧的区域为我们提供了将低于x的特征的值%。对于1.366的Z分数,该功能的值约为91.40%,该功能将低于x = 13。因此,我们得到一个直觉,即对于此功能,内核宽度必须低于x = 13。而且,内核宽度将有助于控制邻里的扰动数据的大小。 图2下面的

    显示了BigMart数据集中的三个原始测试数据点,我们认为这些数据点是为了获得石灰过程的直觉。 XGBoost是一个复杂的模型,用于在原始观测值实例上生成预测。

    > 在本文中,我们将使用BigMart预处理和编码数据集中的前3个记录来提供示例和解释以支持讨论。

    石灰距离公式ML和AI模型解释性和解释性 内部使用原始数据点和附近点之间的距离,并使用欧几里得距离计算距离。假设点x = 13具有坐标(x1,y1),而邻域中的另一个点具有坐标(x2,y2),使用以下方程式计算这两个点之间的欧几里得距离:

    下图(图4)显示了蓝色的扰动数据点和原始值作为红色数据点。距原始数据点较短距离的扰动数据点将对石灰解释更具影响力。

    ML和AI模型解释性和解释性

    上面的方程式考虑2d。可以为具有n个尺寸数的数据点得出类似的方程。

    >

    内核宽度有助于石灰确定为特征选择扰动值的邻域的大小。随着值或数据点偏离原始值,它们在预测模型结果方面的影响就会降低。ML和AI模型解释性和解释性> 下图(图6)显示了扰动的特征值,以及它们与原始值的相似性得分以及使用XGBoost模型的扰动实例预测,图(图5)显示了黑匣子可解释的简单模型(线性回归)的信息。

    >内置的解释性和解释性如何在复杂模型中起作用ML和AI模型解释性和解释性

    复杂模型,例如XGBoost,Random Forest等。具有基本的内置模型解释性特征。 XGBoost模型在全球层面提供了模型的解释性,并且无法解释观察到本地级别的预测。

    >

    以来,我们将XGBoost用作复杂的模型,因此我们在下面讨论了其内置模型的解释性。 XGBOOST为我们提供了绘制决策树的功能,以将直觉纳入模型的全局决策及其对预测的重要性。功能重要性返回功能列表,按照其对模型结果的贡献意义的顺序。

    首先,我们启动了XGBoost模型,然后使用训练集的独立和目标功能对其进行了训练。 XGBoost模型的内置解释性特征用于获得对模型的见解。

    绘制XGBoost内构建的说明使用以下源代码:

    下图(图7)显示了上述BigMart复杂XGBOOST模型的输出决策树。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    >从上面的XGBoost模型树中,我们可以了解模型的决策以及其用于分类数据并做出最终预测的条件规则。从上面看来,对于此XGBoost模型,功能item_mrp对结果做出了最大的贡献,其次是决策中的outlet_type。我们可以使用XGBoost的特征重要性来验证这一点。

    > ML和AI模型解释性和解释性源代码以显示功能重要性

    >使用内置说明显示XGBoost模型的功能重要性,请使用以下源代码。

    下面的图(图9)显示了使用上述XGBoost模型内构建的解释产生的特征。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    从上面的XGBOOST特征的重要性中,有趣的是,对于XGBoost模型,outlet_type的贡献幅度比item_mrp高。此外,该模型为其他贡献特征及其对模型预测的影响提供了信息。
    # feature_importance values in descending order
    feature_importance_xgb.sort_values(by='importance', ascending=False).head()
    登录后复制
    登录后复制
    登录后复制
    >正如我们注意到的那样,XGBoost模型的说明处于全球层面,并提供了大量信息,但是缺少一些其他信息,例如功能贡献的方向,我们对本地级别观察没有见解。方向将告诉我们该特征是否有助于增加预测值或减少预测值。对于分类问题,功能贡献的方向将意味着知道该功能是否有助于“ 1”或类“ 0”。

    >这是外部解释性工具(例如石灰和外形)可以有用的地方,并补充XGBoost模型的解释性,并提供有关特征贡献或功能影响方向的信息。对于没有内置功能来解释模型决策过程的模型,Lime有助于添加此能力,以解释其对本地和全球实例的预测决策。

    lime模型的决策如何起作用以及如何解释其解释?

    > 石灰可以与复杂的模型,简单模型以及黑匣子模型一起使用,我们对模型的工作不了解,并且只有预测。 因此,我们可以将石灰模型直接与需要说明的模型合适,并且我们也可以使用它来通过替代简单模型来解释黑匣子模型。 下面的

    我们将使用XGBoost回归模型作为复杂的和黑匣子模型,并利用简单的线性回归模型来了解黑匣子模型的石灰解释。这也将使我们能够使用两种方法对同一复杂模型进行LIME生成的解释。>

    要安装石灰库,使用以下代码:>

    >方法1:如何使用复杂的XGBR模型实现和解释石灰解释?

    >直接使用复杂模型(例如XGBoost)使用以下代码:>

    这将产生一个看起来如下图的输出。

    >

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    从上方开始,我们看到扰动的观察#0的相似性得分为71.85%,这表明该观察值的特征与原始观察结果相似71.85%。观察#0的预测值为1670.82,预测值的总范围在21.74至5793.40之间。 lime确定了观察#0预测的最大贡献特征,并以特征贡献的幅度降序排列。

    >以蓝色标记的特征表明它们有助于降低模型的预测值,而橙色标记的特征表明它们有助于增加观察值的预测值,即本地实例#0。

    >此外,Lime通过提供模型将数据分配进行观察的特征级条件规则而进一步发展。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    >可视化特征贡献和使用石灰

    的模型预测

    在上面的图(图13)中,左侧的图表示所有观测值的预测值(min至max)的总范围,并且中心的值是该特定实例的预测值,即观察。

    >中心的图显示了蓝色代表对模型预测的负面影响,并且对本地实例的模型预测的积极贡献特征由颜色橙色表示。具有特征的数值值表示特征的扰动值,或者我们可以说它们表示特征对模型预测的贡献的幅度,在这种情况下,它是针对特定观察(#0)或局部实例

    右上的图表示模型在生成实例的预测时给出的特征重要性的顺序。

    注意:每次我们运行此代码时,石灰都会选择功能并为其分配一些新的权重,因此它可能会更改预测的值以及图。

    >

    >方法2:如何使用替代简单LR模型来实现和解释黑匣子模型(XGBR)的石灰解释?

    要使用复杂的黑匣子模型(例如XGBoost)实现石灰,我们可以使用替代模型方法。对于替代模型,我们可以使用简单的模型,例如线性回归或决策树模型。石灰在这些简单模型上非常有效。而且,我们还可以将复杂的模型用作带石灰的替代模型。

    要将石灰与替代简单模型首先使用,我们需要从黑匣子模型中进行预测。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    >第二步

    在第二步中,使用复杂模型,火车集的独立特征和石灰,我们生成了一个扰动特征值的新数据集,然后使用扰动特征和复杂模型预测值训练替代模型(在这种情况下是线性回归)。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    # feature_importance values in descending order
    feature_importance_xgb.sort_values(by='importance', ascending=False).head()
    登录后复制
    登录后复制
    登录后复制
    要使用石灰生成扰动的特征值,我们可以使用以下以下源代码。

    上面的代码可用于回归。对于分类问题,必须将模式修改为“分类”。
    # install lime library
    !pip install lime
    
    # import Explainer function from lime_tabular module of lime library
    from lime.lime_tabular import LimeTabularExplainer
    登录后复制
    登录后复制
    >

    note

    >最后,我们使用替代LR模型为Local实例#0适合LIME,并查看其说明。这也将有助于解释黑匣子模型(XGBR)的功能贡献。为此,请使用下面显示的代码。

    >

    在执行上面的执行时,我们得到了以下石灰说明,如下图(图13)所示。

    # Fit the explainer model  using the complex model and show the LIME explanation and score
    explanation = explainer.explain_instance(X_unseen_test.values[0], xgbr_model.predict)
    explanation.show_in_notebook(show_table=True, show_all=False)
    print(explanation.score)
    登录后复制

    我们立即注意到的一件事是,当我们直接将石灰与XGBoost模型一起使用时,对于观察#0,石灰解释得分较高(71.85%),当我们将其视为黑匣子模型并使用替代LR模型来获取黑匣子模型(XGBOBOST)的lime解释(XGBOBOST),则是一个显着的分数(XGBOBOST)。这表明与替代模型方法相比,观察值中的特征数量将较少,因此,与原始模型的原始模型和石灰相比,使用解释器的预测可能会有一些差异。

    观察#0的预测值为2189.59,总体预测值在2053.46和2316.54之间。

    使用石灰XGBR的观察#0的预测值为1670.82。

    如何访问石灰扰动数据?

    查看石灰扰动值使用以下代码。

    上面的输出看起来如下图所示。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    lime特征的重要性ML和AI模型解释性和解释性 模型中的每个实例在生成实例的预测时给出了不同的特征。这些确定的模型功能在模型的预测中起着重要作用。特征重要性值表示模型预测的扰动特征值或已确定特征的新幅度。

    石灰的解释分数是什么?
    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    >

    石灰解释得分表明了石灰解释的准确性以及确定的特征在预测模型结果中的作用。较高的可解释分数表明,该模型对观察的识别特征在此实例的模型预测中起着重要作用。从上图(图13),我们可以看到可解释的替代LR模型给观察中确定的特征得分为0.4954。 ML和AI模型解释性和解释性现在,让我们来研究另一个名为Shapely的工具,因为它为模型添加了解释性。

    >

    理解塑形(Shapley添加说明)

    >另一种用于ML的普遍使用的工具,AI模型的解释是Shap(外形添加说明)。该工具也是模型的不可知论。它的解释基于称为“沙普利价值观”的合作游戏理论概念。在这个游戏理论中,考虑所有玩家的贡献,并根据他们对整体结果的贡献赋予每个玩家的价值。因此,它为模型决策提供了公平且可解释的洞察力。

    >根据Shapely的说法,一个球员联盟共同努力取得结果。所有玩家都不相同,每个玩家都有不同的特征,可以帮助他们以不同的方式为结果做出贡献。在大多数情况下,是多个玩家的贡献可以帮助他们赢得比赛。因此,玩家之间的合作是有益的,需要得到重视,不仅应仅取决于单个玩家对结果的贡献。而且,每一层次,从结果中产生的收益应根据玩家的贡献在玩家中分配。

    塑造ML和AI模型解释工具基于上述概念。它将数据集中的功能视为团队中的个别玩家(观察)。这些联盟在ML模型中共同努力以预测结果,而回报是模型预测。 Shap有助于公平有效地在单个特征(参与者)之间分配结果增长,从而认识到它们对模型结果的贡献。

    使用沙普利值

    公平分布贡献

    在上面的图(图15)中,我们考虑了两名参加比赛的球员,并以奖金的形式获得了结果。两名球员通过组建不同的联盟(C12,C10,C20,C0)参加,并通过每个联盟获得不同的奖品。最后,我们看到了平均平均体重如何帮助我们确定每个玩家对结果的贡献,并在参与者中公平地分配奖金。ML和AI模型解释性和解释性 在“ i”播放器的情况下,图(图16)中显示的以下方程可用于确定每个播放器或功能的塑性值。

    >让我们进一步探索形状库。

    >如何安装shap库安装并初始化它?ML和AI模型解释性和解释性>

    要安装shap库使用以下源代码,如下所示。

    如何实现和解释复杂的XGBR模型塑造说明?

    塑形库可以直接与复杂模型一起使用以生成解释。以下是与复杂XGBoost模型直接使用Shap的代码(使用与Lime解释相同的模型实例)。

    >

    如何生成复杂XGBR模型的形状值?
    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    >以上将显示联盟中每个特征播放器的塑形值数组,即测试数据集中的观察值。

    形状值看起来如图所示(图-19):

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    >复杂XGBR模型的形状特征重要性是什么?

    > Shap可以帮助我们确定哪些功能有助于模型的结果。它显示了每个功能如何影响预测及其影响。 Shap还比较了模型中特征对其他功能的贡献。

    > 通过考虑特征的所有可能排列,

    shap实现了这一点。它可以计算和比较具有和没有功能的模型结果,从而计算每个特征贡献以及整个团队(所有参与者又称一个特征)。

    如何实现和解释复杂XGBR模型的摘要摘要图?

    Shap摘要图可用于查看Shap特征贡献,其重要性和对结果的影响。

    以下是图(图20)显示了生成摘要图的源代码。

    上面的图(图21)显示了BigMart数据的形状摘要图。从上方,我们看到Shap以其重要性顺序排列了Bigmart数据集中的功能。在右侧,我们看到了从顶部的高价值特征和底部排列的低值排列的特征。
    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    >也,我们可以解释模型特征对其结果的影响。特征撞击以水平为中心,围绕着外形平均值。形状平均值左侧的特征的外形值在粉红色的颜色中表示,表示其负面影响。形状平均值右侧的特征形状值表示对积极影响的特征贡献。形状值还表示特征对结果的大小或影响。

    因此,Shap列出了该模型的整体图,表明每个特征对预测结果的贡献的大小和方向。 ML和AI模型解释性和解释性如何实现和解释复杂XGBR模型的形状依赖图?

    > Shap功能依赖图有助于我们将功能关系与另一个功能解释。在上面的图中,似乎Item_MRP取决于outlet_type。对于outlet_types 1至3,item_mrp的趋势增加,而从上面的utlet_type 0到outlet_type 1,item_mrp的趋势下降。

    >。

    如何实现和解释复杂XGBR模型的塑造力图? 到目前为止,我们在全球范围内看到了Shap的特征,影响力和决策的特征。塑形力图可用于在当地观察级别中直觉进入模型决策。

    要利用Shap Force图,我们可以使用以下代码。请记住使用自己的数据集名称。以下代码查看测试数据集的第一个观察结果,即x_unseen_test.iloc [0]。可以更改此数字以查看不同的观察结果。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    ML和AI模型解释性和解释性

    我们可以将上述力图解释为以下。基本值指示使用Shap替代LR模型的本地实例#0的预测值。标记为深粉色的功能是推动预测值更高的功能,而标记为蓝色的特征则将预测推向了较低的值。具有功能的数字是特征原始值。

    >

    如何为复杂的XGBoost模型实现和解释制定决策图?

    要显示形状依赖图,我们可以使用以下代码,如下图所示。

    # feature importance of the model
    feature_importance_xgb = pd.DataFrame()
    feature_importance_xgb['variable'] = X_train.columns
    feature_importance_xgb['importance'] = xgbr_model.feature_importances_
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    SHAP决策图是查看不同模型特征对模型预测的影响的另一种方式。从下面的决策图中,我们试图可视化各种模型功能对预测结果的影响,即项目插座销售。

    从下面的决策图中,我们观察到特征item_mrp对预测结果产生了积极影响。它增加了商品插座销售。同样,utlet_isternifier_out018也通过提高销售额做出了积极的贡献。另一方面,item_type对结果产生负面影响。它减少了商品销售。同样,utlet_istentifier_27也以负面贡献减少了销售。

    >

    >下面的图显示了大市场销售数据的决策图。

    >如何使用TreeExplainer实现和解释复杂XGBR模型的塑造力图? ML和AI模型解释性和解释性

    # feature_importance values in descending order
    feature_importance_xgb.sort_values(by='importance', ascending=False).head()
    登录后复制
    登录后复制
    登录后复制
    如何使用替代模型实现和解释黑匣子模型的解释?

    >使用替代模型(此处使用的线性回归模型)使用Shap解释使用以下代码。线性回归模型是使用黑匣子模型和训练集的独立特征的预测来训练的。 ML和AI模型解释性和解释性

    对于Shap解释器替代模型,Shap值将看起来像下面。

    如何使用替代LR模型来实现和解释黑匣子模型的形状摘要图?
    # install lime library
    !pip install lime
    
    # import Explainer function from lime_tabular module of lime library
    from lime.lime_tabular import LimeTabularExplainer
    登录后复制
    登录后复制
    >显示黑匣子替代模型的形状摘要图,代码看起来像下面。

    ML和AI模型解释性和解释性

    >从上面的黑匣子代替代LR模型的Shap摘要图中,Item_Type和item_MRP是具有总体中性影响的Item_Type的最高贡献功能之一,而item_mrp似乎正在向右手侧伸向右手,表明它有助于增加结果(即ite_e.e.e.e.e.e.e.e.e.outlet_sales。

    如何实现和解释黑匣子替代简单LR模型的形状依赖图?

    >使用替代LR模型实现Shap Dependece图,请使用以下代码。>

    输出看起来像下面的。

    # plot single tree
    plot_tree(xgbr_model)
    plt.figure(figsize=(10,5))
    plt.show()
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制
    登录后复制

    >从上面的图中我们可以说,对于黑匣子替代LR模型,MRP对于出口类型0和1的趋势越来越多,而对于出口类型3的趋势也有所下降。

    模型的比较表ML和AI模型解释性和解释性

    >下面我们将查看表格以比较每个模型

    Aspect LIME SHAP Blackbox Surrogate LR Model XGBR Model (Complex)
    Explainability Local-level explainability for individual predictions Global-level and local-level explainability Limited explainability, no local-level insights Limited local-level interpretability
    Model Interpretation Uses synthetic dataset with perturbed values to analyze model’s decision rationale Uses game theory to evaluate feature contributions No local-level decision insights Global-level interpretability only
    Explanation Score Average explanation score = 0.6451 Provides clear insights into feature importance Lower explanation score compared to LIME XGBR Higher prediction accuracy but lower explanation
    Accuracy of Closeness to Predicted Value Matches predicted values closely in some cases Provides better accuracy with complex models Low accuracy of closeness compared to LIME Matches predicted values well but limited explanation
    Usage Helps diagnose and understand individual predictions Offers fairness and transparency in feature importance Not suitable for detailed insights Better for high-level insights, not specific
    Complexity and Explainability Tradeoff Easier to interpret but less accurate for complex models Higher accuracy with complex models, but harder to interpret Less accurate, hard to interpret Highly accurate but limited interpretability
    Features Explains local decisions and features with high relevance to original data Offers various plots for deeper model insights Basic model with limited interpretability Provides global explanation of model decisions
    Best Use Cases Useful for understanding decision rationale for individual predictions Best for global feature contribution and fairness Used when interpretability is not a major concern Best for higher accuracy at the cost of explainability
    Performance Analysis Provides a match with XGBR prediction but slightly lower accuracy Performs well but has a complexity-accuracy tradeoff Limited performance insights compared to LIME High prediction accuracy but with limited interpretability
    Lime的扰动特征和模型解释性

    见解

    >同样,在分析石灰扰动值时,我们对石灰选择的特征的方式进行了一些直觉,然后分配给它们的扰动权重,并尝试使预测更接近原始。

    >带来所有的石灰模型和观测值(对于排名前3的行和选定的功能)。

    >

    ML和AI模型解释性和解释性

    ML和AI模型解释性和解释性

    从上面开始,我们可以看到,对于观察#0,原始XGBR模型预测和石灰XGBR模型预测是匹配的,而对于相同的原始特征值,BlackBox替代模型预测观察#0也是不对的。同时,石灰XGBR模型展示了高解释得分(特征与原始功能的相似性)。 复杂石灰XGBR模型的解释得分的平均值为0.6451,黑盒替代LR石灰模型的平均值为0.5701。在这种情况下,石灰XGBR的平均解释得分高于黑匣子模型。

    预测值的亲密度的准确性

    下面我们分析了三个模型的预测值的亲密度的精度。

    通过简单的LR模型和石灰复合物XGBR模型的预测值的%精度是相同的,两种模型都达到了100%的观测精度。这表明预测值与复杂XGBR模型做出的实际预测非常匹配。通常,较高的亲密度精度反映了一个更准确的模型。

    >

    比较预测和实际值时,会观察到差异。对于观察#3,预测值(2174.69)显着高于实际值(803.33)。同样,计算了石灰复合物XGBR和BlackBox替代LR模型的亲密度精度。结果突出显示了各种性能指标,如表中所述。ML和AI模型解释性和解释性>

    >从上方我们看到,对于观察1,BlackBox替代LR模型表现最好。同时,对于其他两个观察结果(#2和#3),两个模型性能均相等。

    石灰复合物XGBR模型的平均性能约为176,BlackBox替代LR模型约为186。 因此,我们可以说石灰复杂模型的精度<石灰黑盒替代LR模型精度。ML和AI模型解释性和解释性

    结论

    石灰和外形是提高机器学习和AI模型的解释性的强大工具。它们使复杂或黑框模型更加透明。石灰专门针对模型的决策过程提供本地级别的见解。 Shap提供了更广泛的视野,并在全球和地方层面上都解释了功能贡献。尽管石灰的准确性可能并不总是与XGBR这样的复杂模型匹配,但对于理解单个预测而言是无价的。 另一方面,Shap的基于游戏理论的方法促进了公平和透明度,但有时很难解释。 BlackBox模型和XGBR等复杂模型提供了更高的预测准确性,但通常以降低解释性为代价。最终,这些工具之间的选择取决于预测准确性和模型可解释性之间的平衡,这可能会根据所使用模型的复杂性而有所不同。

    钥匙要点

    lime和shap提高了复杂AI模型的解释性。

    石灰是获得对预测的本地水平见解的理想选择。

    shap对特征重要性和公平性提供了更全球的理解。
      较高的模型复杂性通常会导致更好的准确性,但可以降低解释性。
    • 这些工具之间的选择取决于对准确性和可解释性的需求。
    • 参考
    • 有关更多详细信息,请使用以下
    • >
    • 源代码存储库
    • limedocumentation

    > shapdocumentation

    常见问题
    • > Q1。模型解释性和可解释性之间有什么区别?口译员是将语言翻译成不了解语言的人的人。因此,模型解释性的作用是用作翻译器,并以易于理解的方式将模型以技术形式产生的模型解释转化为非技术人类的解释。模型的解释性与生成模型的解释有关在本地观察和全球层面的决策中产生模型解释。因此,模型的解释性有助于将模型解释从复杂的技术格式转化为用户友好的格式。
    • Q2。为什么模型解释性在AI和ML中很重要? 
    • a。 ML和AI模型的解释性和可解释性至关重要,原因有几个。它们使模型具有透明度和信任。它们还促进协作并帮助识别和减轻脆弱性,风险和偏见。此外,解释性有助于调试问题并确保遵守法规和道德标准。这些因素在各种业务用例中尤为重要,包括银行和金融,医疗保健,完全自动驾驶汽车和零售,如文章中所述。 Q3。所有模型都可以使用石灰和外形吗?是的,石灰和外形是模型的不可知论。这意味着它们可以应用于任何机器学习模型。这两种工具都增强了模型的解释性和解释性。实现模型的解释性挑战是什么?实现模型的挑战在于在模型准确性和模型解释之间找到平衡。重要的是要确保解释是由非技术用户解释的。这些解释的质量必须在实现高模型准确性的同时保持。>

以上是ML和AI模型解释性和解释性的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板