主要内容

适合

计算夏普利值查询点

自从R2021a

    描述

    例子

    newExplainer=健康(讲解员,queryPoint)指定的查询计算夏普利值点(queryPoint)和存储计算夏普利值ShapleyValues的属性newExplainer。的沙普利对象讲解员包含一个机器学习模型和选择计算夏普利值。

    适合利用夏普利值计算选项创建时指定讲解员。您可以更改的选项使用名称-值参数适合函数。函数返回一个沙普利对象newExplainer包含新计算夏普利值。

    例子

    newExplainer=健康(讲解员,queryPoint,名称,值)使用一个或多个名称参数指定附加选项。例如,指定“UseParallel”,真的并行计算夏普利值。

    例子

    全部折叠

    训练一个回归模型,并创建一个沙普利对象。当您创建一个沙普利查询对象,如果你不指定一个点,然后软件不计算夏普利值。使用目标函数适合指定的查询计算夏普利值点。然后创建一个条形图的夏普利值通过使用对象的功能情节

    加载carbig的数据集,其中包含测量汽车在1970年代末和1980年代初。

    负载carbig

    创建一个表包含预测变量加速度,气缸等等,以及响应变量英里/加仑

    台=表(加速度、汽缸、排量、马力、Model_Year重量,MPG);

    删除缺失值在一个训练集可以帮助减少内存消耗,加速训练fitrkernel函数。删除缺失值资源描述

    台= rmmissing(台);

    火车的黑箱模型英里/加仑通过使用fitrkernel函数

    rng (“默认”)%的再现性mdl = fitrkernel(资源描述,“英里”,“CategoricalPredictors”[2 - 5]);

    创建一个沙普利对象。指定的数据集资源描述,因为mdl不包含训练数据。

    讲解员=沙普利(mdl(资源)
    讲解员=沙普利与属性:BlackboxModel: [1 x1 RegressionKernel] QueryPoint: [] BlackboxFitted: [] ShapleyValues: [] NumSubsets: 64 X: [392 x7表]CategoricalPredictors:[2 5]方法:“interventional-kernel”拦截:22.6202

    讲解员存储训练数据资源描述X财产。

    计算所有预测变量的夏普利值第一观察资源描述

    :queryPoint =(资源(1)
    queryPoint =表1×7加速汽缸位移马力Model_Year重量MPG _______ _____ _______ __________ __________ ______ ___ 12 8 307 130 70 3504
    讲解员=适合(讲解员,queryPoint);

    回归模型,沙普利使用预测响应计算夏普利值,并将它们存储在ShapleyValues财产。显示的值ShapleyValues财产。

    explainer.ShapleyValues
    ans =6×2表预测_______ ShapleyValue * * *“加速度”-0.1561“气缸”-0.18306“位移”-0.34203“马力”-0.27291“Model_Year”-0.2926“重量”-0.32402

    情节的夏普利值查询使用情节函数。

    情节(讲解员)

    图包含一个坐标轴对象。坐标轴对象与标题沙普利解释,包含夏普利值,ylabel预测包含一个对象类型的酒吧。

    水平条形图显示了所有变量的夏普利值,按他们的绝对值。每个夏普利值解释查询的预测点的偏差从平均,由于相应的变量。

    训练一个分类模型,并创建一个沙普利对象。然后计算多个查询点的夏普利值。

    加载CreditRating_Historical数据集,数据集包含客户id和他们的财务比率,行业标签,信用评级。

    台= readtable (“CreditRating_Historical.dat”);

    火车的黑箱模型使用的信用评级fitcecoc函数。使用变量通过第七列第二资源描述作为预测变量。

    黑箱= fitcecoc(资源描述,“评级”,“PredictorNames”tbl.Properties.VariableNames (7),“CategoricalPredictors”,“行业”);

    创建一个沙普利对象的黑箱模型。为更快的计算,子样品的观察的25%资源描述与分层和使用样本来计算夏普利值。指定使用扩展内核世鹏科技电子算法。

    rng (“默认”)%的再现性c = cvpartition (tbl.Rating“坚持”,0.25);:tbl_ =台(测试(c):);:tbl_讲解员=沙普利(黑盒,“方法”,“条件”);

    找到两个查询点的真实等级值AAAB,分别。

    queryPoint (1) =: tbl_ (find (strcmp (tbl_s.Rating,“AAA”),1):);queryPoint (2) =: tbl_ (find (strcmp (tbl_s.Rating,“B”),1),:)
    queryPoint =2×8表ID WC_TA RE_TA EBIT_TA MVE_BVTD S_TA行业评级_____持续累积________ _____ ________ 58258 0.511 0.869 0.106 8.538 0.732 - 2 {' AAA '} 82367 -0.078 -0.042 0.011 0.262 0.167 7 {B}

    第一个查询计算和绘制夏普利值点。

    explainer1 =适合(讲解员,queryPoint (1:));情节(explainer1)

    图包含一个坐标轴对象。坐标轴对象与标题沙普利解释,包含夏普利值,ylabel预测包含一个对象类型的酒吧。

    第二个查询计算和绘制夏普利值点。

    explainer2 =适合(讲解员,queryPoint (2:));情节(explainer2)

    图包含一个坐标轴对象。坐标轴对象与标题沙普利解释,包含夏普利值,ylabel预测包含一个对象类型的酒吧。

    第二个查询点的真实评价B,但预测评级BB。情节展示了夏普利值预测评级。

    explainer1explainer2包括第一个查询的夏普利值点和第二个查询点,分别。

    输入参数

    全部折叠

    对象解释黑箱模型,指定为一个沙普利对象。

    查询点适合解释了一个预测,指定为一个行向量的数值或单列表。

    • 一个行向量的数值:

      • 的变量的列queryPoint必须有相同的订单预测数据X讲解员

      • 如果预测数据explainer.X是一个表,然后呢queryPoint可以是一个数值向量如果表包含所有数值变量。

    • 单列表:

      • 如果预测数据explainer.X是一个表,那么所有预测变量queryPoint必须有相同的变量名和数据类型的吗explainer.X。然而,列的顺序queryPoint不需要对应的列顺序explainer.X

      • 如果预测数据explainer.X是一个数字矩阵,然后预测名称explainer.BlackboxModel.PredictorNames和相应的预测变量名称queryPoint必须相同。使用指定预测名称在训练“PredictorNames”名称-值参数。所有的预测变量queryPoint必须是数值向量。

      • queryPoint可以包含额外的变量(响应变量,观察体重、等等),但适合忽略了它们。

      • 适合不支持多列变量或细万博1manbetx胞数组以外的细胞阵列的特征向量。

    如果queryPoint包含年代连续预测“方法”“条件”,然后夏普利值(ShapleyValues在返回的对象年代。否则,适合处理值一样explainer.BlackboxModel(预测对象的函数explainer.BlackboxModel或一个函数处理规定黑箱)。

    例子::explainer.X (1)指定查询点作为第一个观察的预测数据X讲解员

    数据类型:||

    名称-值参数

    指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

    R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

    例子:fit(讲解员,问,‘法’,‘条件’,‘UseParallel’,真的)计算查询的夏普利值点使用扩展内核世鹏科技电子算法,并行执行计算。

    最大数量的预测指标子集用于夏普利值计算,指定为一个正整数。

    有关如何适合选择要使用的子集,明白了计算成本

    这个论点时是有效的适合函数使用内核世鹏科技电子算法或算法扩展到内核世鹏科技电子。如果你设置MaxNumSubsets争论时方法“介入”,软件使用内核世鹏科技电子算法。有关更多信息,请参见算法

    例子:“MaxNumSubsets”, 100年

    数据类型:|

    自从R2023a

    沙普利值计算算法,指定为“介入”“条件”

    • “介入”- - - - - -适合计算夏普利值和一个介入价值函数。

      适合提供三种介入算法:内核世鹏科技电子[1],线性世鹏科技电子[1]树,世鹏科技电子[2]。软件选择一个算法基于机器学习模型讲解员.BlackboxModel和其他指定的选项。有关详细信息,请参见介入算法

    • “条件”- - - - - -适合使用扩展内核世鹏科技电子算法[3]一个条件值函数。

    方法的属性newExplainer商店的名称选择算法。有关更多信息,请参见算法

    默认情况下,适合函数中指定使用的算法方法的属性讲解员

    之前R2023a:您可以指定这个论点“interventional-kernel”“conditional-kernel”适合万博1manbetx支持内核世鹏科技电子内核世鹏科技电子算法的算法和扩展。

    例子:“方法”,“条件”

    数据类型:字符|字符串

    国旗并行运行,指定为真正的。如果您指定“UseParallel”,真的,适合函数执行通过循环迭代parfor。并行循环运行时并行计算工具箱™。

    这个论点时是有效的适合函数使用树世鹏科技电子一树的算法,算法内核世鹏科技电子,或扩展内核世鹏科技电子算法。

    例子:“UseParallel”,真的

    数据类型:逻辑

    输出参数

    全部折叠

    对象解释黑箱模型,作为一个返回沙普利对象。的ShapleyValues对象包含计算夏普利值的属性。

    覆盖输入参数讲解员指定的输出适合讲解员:

    讲解员=适合(讲解员,queryPoint);

    更多关于

    全部折叠

    沙普利值

    在博弈论中,一个球员的夏普利值是平均边际贡献的球员合作游戏。上下文中的机器学习预测的夏普利值功能查询点解释特性预测的贡献(响应回归或得分的每个类分类)在指定的查询。

    的夏普利值功能查询点的贡献平均预测偏差特性。查询点,沙普利值之和所有功能对应的总偏差预测的平均水平。也就是说,平均预测和沙普利值的总和为所有特性对应查询的预测点。

    更多细节,请参阅沙普利值机器学习模型

    引用

    [1]Lundberg,斯科特·M。李,美国。“一个统一的方法来解释模型的预测”。先进的神经信息处理系统30 (2017):4765 - 774。

    [2]Lundberg,斯科特·M。,G. Erion, H. Chen, et al. "From Local Explanations to Global Understanding with Explainable AI for Trees."自然机器智能2(2020年1月):56 - 67。

    [3]Aas、Kjersti马丁Jullum,安德斯Løland。“解释个人预测当依赖特性:更精确的近似夏普利值。”人工智能298(2021年9月)。

    扩展功能

    版本历史

    介绍了R2021a

    全部展开