主要内容

沙普利

沙普利值

自从R2021a

    描述

    沙普利查询点的一个特性值解释查询的预测点的偏差的平均预测,由于功能。对于每个查询点,沙普利值之和所有功能对应的总偏差预测的平均水平。

    您可以创建一个沙普利对机器学习模型对象与指定查询点(queryPoint)。该软件创建一个对象的所有特性和计算夏普利值查询点。

    利用夏普利值解释个人特性预测的贡献在指定查询点。使用情节函数创建一个条形图的夏普利值。你可以计算出另一个查询点利用夏普利值适合函数。

    创建

    描述

    讲解员=沙普利(黑箱)创建沙普利对象讲解员使用机器学习模型对象黑箱,其中包含预测数据。计算夏普利值,使用适合函数与讲解员

    例子

    讲解员=沙普利(黑箱,X)创建一个沙普利使用预测数据对象X

    例子

    讲解员=沙普利(___“QueryPoint”,queryPoint)也计算查询的夏普利值点queryPoint和商店的夏普利值计算ShapleyValues的属性讲解员。您可以指定queryPoint除了任何输入参数组合在前面的语法。

    例子

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

    输入参数

    全部展开

    机器学习模型来解释,指定为一个完整紧凑的回归或分类模型对象或一个函数处理。

    预测数据,指定为一个数字矩阵或表。每一行的X对应于一个观察,每一列对应一个变量。

    • 一个数字矩阵:

      • 的变量的列X必须有相同的订单预测变量,训练吗黑箱,存储在blackbox.X

      • 如果你训练黑箱使用一个表,那么X可以是一个数字矩阵表包含所有数值预测变量。

    • 一个表:

      • 如果你训练黑箱使用一个表(例如,资源描述),那么所有的预测变量X必须有相同的变量名和数据类型的吗资源描述。然而,列的顺序X不需要对应的列顺序资源描述

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

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

      • 沙普利不支持多列变量或细金宝app胞数组以外的细胞阵列的特征向量。

    如果黑箱是一个模型对象,不包含预测数据或一个函数处理,您必须提供吗X。如果黑箱是一个完整的机器学习模型对象,你指定这个参数,然后呢沙普利不使用预测数据黑箱;只使用指定的预测数据。

    数据类型:|

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

    • 一个行向量的数值:

      • 的变量的列queryPoint必须有相同的订单吗X或训练的预测变量黑箱,存储在blackbox.X

      • 如果你训练黑箱使用一个表,那么queryPoint可以是一个数值向量如果表包含所有数值变量。

    • 单列表:

      • 如果你训练黑箱使用一个表(例如,资源描述),那么所有的预测变量queryPoint必须有相同的变量名和数据类型的吗资源描述。然而,列的顺序queryPoint不需要对应的列顺序资源描述

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

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

      • 沙普利不支持多列变量或细金宝app胞数组以外的细胞阵列的特征向量。

    如果queryPoint包含年代连续预测“方法”“条件”,然后夏普利值(ShapleyValues在返回的对象年代。否则,沙普利处理年代queryPoint以同样的方式黑箱(预测对象的函数黑箱或指定的函数处理黑箱)。

    例子::blackbox.X (1)指定查询点作为第一次观察到完整的预测数据的机器学习模型黑箱

    数据类型:||

    名称-值参数

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

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

    例子:沙普利(黑箱,QueryPoint,问,“方法”,“条件”)创建一个沙普利查询对象和计算夏普利值点使用扩展内核世鹏科技电子算法。

    分类预测表,在这个表指定为一个值。

    价值 描述
    向量的正整数

    向量中的每个条目是一个索引值表明相应的预测分类。索引值介于1和p,在那里p预测的数量被用来训练模型。

    如果黑箱使用输入变量的子集作为预测因子,然后软件指标预测只使用子集。的“CategoricalPredictors”值不计数响应变量,观察体重变量,或任何其他变量,函数不使用。

    逻辑向量

    一个真正的意味着相应的预测分类条目。向量的长度p

    字符矩阵 矩阵的每一行是一个预测变量的名字。名称必须匹配的变量名的形式表预测数据。垫的名字与额外的空格字符矩阵的每一行有相同的长度。
    字符串数组或单元阵列的特征向量 数组中的每个元素是一个预测变量的名字。名称必须匹配的变量名的形式表预测数据。
    “所有” 所有预测都直言。

    • 如果您指定黑箱作为处理函数沙普利识别分类预测的预测数据X。如果预测的数据表中,沙普利假设变量是直言如果它是一个逻辑向量,无序分类向量,字符数组,字符串数组或单元阵列特征向量。如果预测数据是一个矩阵,沙普利假设所有的预测都是连续的。识别任何其他预测分类预测,通过使用指定它们CategoricalPredictors名称-值参数。

    • 如果您指定黑箱作为回归或分类模型对象沙普利通过使用的标识分类预测CategoricalPredictors模型对象的属性。

    沙普利金宝app支持有序分类预测时黑箱金宝app支持有序分类预测和指定“方法”作为“介入”

    例子:“CategoricalPredictors”、“所有”

    数据类型:||逻辑|字符|字符串|细胞

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

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

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

    例子:“MaxNumSubsets”, 100年

    数据类型:|

    自从R2023a

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

    • “介入”(默认)沙普利计算夏普利值和一个介入价值函数。

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

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

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

    之前R2023a:您可以指定这个论点“interventional-kernel”“conditional-kernel”沙普利金宝app支持内核世鹏科技电子内核世鹏科技电子算法的算法和扩展。

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

    数据类型:字符|字符串

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

    这个论点是有效的只有当沙普利使用树世鹏科技电子一树的算法,算法内核世鹏科技电子或扩展内核世鹏科技电子算法。

    例子:“UseParallel”,真的

    数据类型:逻辑

    属性

    全部展开

    这个属性是只读的。

    机器学习模型来解释,指定为一个回归或分类模型对象或一个函数处理。

    黑箱参数设置这个属性。

    这个属性是只读的。

    预测查询点计算的机器学习模型(BlackboxModel),指定为一个标量。

    • 如果BlackboxModel是一个模型对象,那么BlackboxFitted是回归的预测响应或分类的分类标签。

    • 如果BlackboxModel是一个函数处理呢BlackboxFitted是一个返回值的函数处理,响应回归预测或预测评分的一个类分类。

    这个属性是只读的。

    分类预测指标,指定为一个向量的正整数。CategoricalPredictors包含索引值表明相应的预测分类。索引值介于1和p,在那里p预测的数量被用来训练模型。如果所有的预测都直言,那么这个属性是空的([])。

    • 如果您指定黑箱使用一个函数处理沙普利识别分类预测的预测数据X。如果你指定CategoricalPredictors名称-值参数,参数设置这个属性。

    • 如果您指定黑箱作为回归或分类模型对象沙普利决定使用这个属性CategoricalPredictors模型对象的属性。

    沙普利金宝app支持有序分类预测时黑箱金宝app支持有序分类预测和当你指定“方法”作为“介入”

    平均预测,预测数据的平均值X,指定为一个数值向量或数字标量。

    • 如果BlackboxModel是一个分类模型对象呢拦截是一个向量分类的平均分数为每个类。

    • 如果BlackboxModel是一个回归模型对象呢拦截是一个标量的平均响应。

    • 如果BlackboxModel是一个函数处理呢拦截是一个标量函数的平均评价。

    查询点,沙普利值之和所有功能对应的总偏差预测的平均水平(拦截)。

    这个属性是只读的。

    沙普利值计算算法,指定为“interventional-linear”,“interventional-tree”,“interventional-kernel”,或“conditional-kernel”

    • “interventional-linear”- - - - - -沙普利使用线性世鹏科技电子算法[1]介入价值函数。也就是说,沙普利计算介入夏普利值使用线性模型的估计系数。

    • “interventional-tree”- - - - - -沙普利使用树世鹏科技电子算法[2]介入价值函数。

    • “interventional-kernel”- - - - - -沙普利使用内核世鹏科技电子算法[1]介入价值函数。

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

    方法的观点沙普利或者是方法的观点适合设置此属性。

    有关更多信息,请参见算法

    这个属性是只读的。

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

    MaxNumSubsets的观点沙普利或者是MaxNumSubsets的观点适合设置此属性。

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

    这个属性是只读的。

    查询点沙普利解释了一个预测利用夏普利值(ShapleyValues),指定为一个行向量的数值或单列表。

    queryPoint的观点沙普利或者是queryPoint的观点适合设置此属性。

    这个属性是只读的。

    沙普利值查询点(QueryPoint),指定为一个表。

    • 对于回归,表有两列。第一列包含预测变量的名称,第二列包含的夏普利值预测。

    • 分类的表有两列或多列,根据类的数量BlackboxModel。第一列包含预测变量的名字,和其余的列包含为每个类的夏普利值预测。

    这个属性是只读的。

    预测数据,指定为一个数字矩阵或表。

    每一行的X对应于一个观察,每一列对应一个变量。

    • 如果你指定X参数,然后设置该属性。

    • 如果您指定黑箱作为一个完整的机器学习模型对象并没有指定X,那么这个属性值预测数据用于训练黑箱

    如果一个观察包含年代连续预测方法“conditional-kernel”,然后沙普利不使用的观察夏普利值计算。否则,沙普利处理年代X以同样的方式BlackboxModel(预测对象的函数BlackboxModel或指定的函数处理BlackboxModel)。

    沙普利商店所有的观察,包括缺失值的行,在这个属性。

    对象的功能

    适合 计算夏普利值查询点
    情节 情节夏普利值

    例子

    全部折叠

    训练一个分类模型,并创建一个沙普利对象。当您创建一个沙普利对象,指定查询点,以便查询的软件计算夏普利值点。然后创建一个条形图的夏普利值通过使用对象的功能情节

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

    台= readtable (“CreditRating_Historical.dat”);

    显示表的前三行。

    头(资源描述,3)
    ID WC_TA RE_TA EBIT_TA MVE_BVTD S_TA行业评级_____ _____ _____和______ _____ ________ ________ 62394 0.013 0.104 0.036 0.447 0.142 3 {“BB”} 48608 0.232 0.335 0.062 1.969 0.281 8 {A} 42444 0.311 0.367 0.074 1.935 0.366 1 {A}

    火车的黑箱模型使用的信用评级fitcecoc函数。使用变量通过第七列第二资源描述作为预测变量。推荐的做法是指定类名设置订单的类。

    黑箱= fitcecoc(资源描述,“评级”,“PredictorNames”tbl.Properties.VariableNames (7),“CategoricalPredictors”,“行业”,“类名”,{“AAA”“AA”“一个”“BBB”“BB”“B”“CCC”});

    创建一个沙普利对象,阐述了预测最后的观察。指定一个查询点,这样软件计算夏普利值并将它们存储在ShapleyValues财产。

    queryPoint =(资源(最终,:)
    queryPoint =表1×8ID WC_TA RE_TA EBIT_TA MVE_BVTD S_TA行业评级_____ _____ _____ _________ __ ________ ________ ________ 73104 0.239 0.463 0.065 2.924 0.34 - 2 {“AA”}
    讲解员=沙普利(黑盒,“QueryPoint”queryPoint)
    警告:计算可能会很慢,因为预测数据有超过1000的观察。使用一个更小的样本训练集或指定“UseParallel”作为适用于更快的计算。
    讲解员=沙普利与属性:BlackboxModel: [1 x1 ClassificationECOC] QueryPoint:[1×8表]BlackboxFitted: {“AA”} ShapleyValues:[6×8表]NumSubsets: 64 X: [3932 x6表]CategoricalPredictors: 6方法:“interventional-kernel”拦截:[-1.7642 -1.3677 -1.0980 -1.0645 -1.4758 -2.1268 - -2.3909)

    警告消息表明,计算可能会很慢,因为预测数据有超过1000的观察。更快的计算,使用一个更小的样本训练集或指定的“UseParallel”作为真正的

    对于一个分类模型,沙普利计算夏普利值使用预测类分数为每个类。显示的值ShapleyValues财产。

    explainer.ShapleyValues
    ans =6×8表预测AAA AA BBB BB B CCC __________ _____ __________ ___________ __________ ___________ __________ __________“WC_TA”0.051507 0.022531 0.0093463 0.0017109 -0.027655 -0.041443 -0.039882“RE_TA”0.16772 0.094211 0.051629 -0.011019 -0.087919 -0.20974 -0.29463“EBIT_TA”0.0011995 0.00052588 0.00041919 0.00011866 -0.00066237 -0.0013347 -0.0011824“MVE_BVTD”1.3417 1.3082 0.61472 -0.11247 -0.6555 -0.86908 -0.68547“S_TA”-0.013059 -0.0091049 -0.00031099 -0.0028624 -0.00019227 0.0016759 -0.0024149“行业”-0.10142 -0.048668 0.0036522 0.081542 0.092657 0.10464 0.15888

    ShapleyValues属性包含所有功能的夏普利值为每个类。

    情节的夏普利值预测类使用情节函数。

    情节(讲解员)

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

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

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

    加载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预测包含一个对象类型的酒吧。

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

    训练一个回归模型,并创建一个沙普利使用一个函数处理的对象预测的函数模型。使用目标函数适合指定的查询计算夏普利值点。然后情节夏普利值通过使用对象的功能情节

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

    负载carbig

    创建一个表包含预测变量加速度,气缸,等等。

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

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

    rng (“默认”)%的再现性Mdl = TreeBagger(100台,英里/加仑,“方法”,“回归”,“CategoricalPredictors”[2 - 5]);

    沙普利不支持金宝appTreeBagger直接对象,所以你不能指定第一个输入参数(黑箱模型)沙普利作为一个TreeBagger对象。相反,您可以使用一个函数句柄预测函数。您还可以指定选项的预测函数使用名称-值参数的函数。

    创建函数句柄预测的函数TreeBagger对象Mdl。指定要使用的树索引数组1:50

    f = @(台)预测(Mdl、台、“树”、1:50);

    创建一个沙普利对象使用函数处理f。当你指定一个黑箱模型作为处理函数,您必须提供预测数据。资源描述包括分类预测(油缸Model_Year)数据类型。默认情况下,沙普利没有对变量数据类型分类预测。指定第二个(油缸)、五(Model_Year)作为分类预测变量。

    讲解员=沙普利(f(资源“CategoricalPredictors”[2 - 5]);讲解员=适合(讲解员,台(1:));

    情节夏普利值。

    情节(讲解员)

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

    更多关于

    全部展开

    引用

    [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

    全部展开