沙普利值
的沙普利查询点的一个特性值解释查询的预测点的偏差的平均预测,由于功能。对于每个查询点,沙普利值之和所有功能对应的总偏差预测的平均水平。
您可以创建一个沙普利
对机器学习模型对象与指定查询点(queryPoint
)。该软件创建一个对象的所有特性和计算夏普利值查询点。
利用夏普利值解释个人特性预测的贡献在指定查询点。使用情节
函数创建一个条形图的夏普利值。你可以计算出另一个查询点利用夏普利值适合
函数。
也计算查询的夏普利值点讲解员
=沙普利(___“QueryPoint”,queryPoint
)queryPoint
和商店的夏普利值计算ShapleyValues
的属性讲解员
。您可以指定queryPoint
除了任何输入参数组合在前面的语法。
黑箱
- - - - - -机器学习模型来解释机器学习模型来解释,指定为一个完整紧凑的回归或分类模型对象或一个函数处理。
全部或紧凑的模型对象,您可以指定一个完整紧凑的回归或分类模型对象,一个预测
对象的功能。软件使用预测
函数来计算夏普利值。
如果您指定一个不包含预测数据的模型对象(例如,一个紧凑的模型),然后你必须提供预测数据使用X
。
当你训练一个模型,使用数值矩阵的预测数据或表行对应于观测。
回归模型对象
金宝app支持模型 | 全部或紧凑的回归模型对象 |
---|---|
整体的回归模型 | RegressionEnsemble ,RegressionBaggedEnsemble ,CompactRegressionEnsemble |
高斯核函数回归模型使用随机特性的扩张 | RegressionKernel |
高斯过程回归 | RegressionGP ,CompactRegressionGP |
广义加性模型 | RegressionGAM ,CompactRegressionGAM |
对高维数据线性回归 | RegressionLinear |
神经网络回归模型 | RegressionNeuralNetwork ,CompactRegressionNeuralNetwork |
回归树 | RegressionTree ,CompactRegressionTree |
金宝app支持向量机回归 | RegressionSVM ,CompactRegressionSVM |
分类模型对象
金宝app支持模型 | 全部或紧凑的分类模型对象 |
---|---|
判别分析分类器 | ClassificationDiscriminant ,CompactClassificationDiscriminant |
多类支持向量机模型或其他分类器金宝app | ClassificationECOC ,CompactClassificationECOC |
系综分类的学习者 | ClassificationEnsemble ,CompactClassificationEnsemble ,ClassificationBaggedEnsemble |
高斯核函数分类模型使用随机特性的扩张 | ClassificationKernel |
广义加性模型 | ClassificationGAM ,CompactClassificationGAM |
k最近的邻居分类器 | ClassificationKNN |
线性分类模型 | ClassificationLinear |
多级朴素贝叶斯模型 | ClassificationNaiveBayes ,CompactClassificationNaiveBayes |
神经网络分类器 | ClassificationNeuralNetwork ,CompactClassificationNeuralNetwork |
金宝app看到下面成了和二进制分类的支持向量机分类器 | ClassificationSVM ,CompactClassificationSVM |
二叉决策树的多类分类 | ClassificationTree ,CompactClassificationTree |
函数处理,您可以指定一个函数处理接受预测数据和返回一个列向量,其中包含预测中的每个观测数据的预测。回归的预测是预测响应或预测的单个类分类。您必须提供预测数据使用X
。
X
- - - - - -预测数据预测数据,指定为一个数字矩阵或表。每一行的X
对应于一个观察,每一列对应一个变量。
一个数字矩阵:
的变量的列X
必须有相同的订单预测变量,训练吗黑箱
,存储在blackbox.X
。
如果你训练黑箱
使用一个表,那么X
可以是一个数字矩阵表包含所有数值预测变量。
一个表:
如果你训练黑箱
使用一个表(例如,资源描述
),那么所有的预测变量X
必须有相同的变量名和数据类型的吗资源描述
。然而,列的顺序X
不需要对应的列顺序资源描述
。
如果你训练黑箱
使用一个数字矩阵,然后预测名称blackbox.PredictorNames
和相应的预测变量名称X
必须相同。使用指定预测名称在训练“PredictorNames”
名称-值参数。所有的预测变量X
必须是数值向量。
X
可以包含额外的变量(响应变量,观察体重、等等),但沙普利
忽略了它们。
沙普利
不支持多列变量或细金宝app胞数组以外的细胞阵列的特征向量。
如果黑箱
是一个模型对象,不包含预测数据或一个函数处理,您必须提供吗X
。如果黑箱
是一个完整的机器学习模型对象,你指定这个参数,然后呢沙普利
不使用预测数据黑箱
;只使用指定的预测数据。
数据类型:单
|双
queryPoint
- - - - - -查询点查询点沙普利
解释了一个预测,指定为一个行向量的数值或单列表。
一个行向量的数值:
单列表:
如果你训练黑箱
使用一个表(例如,资源描述
),那么所有的预测变量queryPoint
必须有相同的变量名和数据类型的吗资源描述
。然而,列的顺序queryPoint
不需要对应的列顺序资源描述
。
如果你训练黑箱
使用一个数字矩阵,然后预测名称blackbox.PredictorNames
和相应的预测变量名称queryPoint
必须相同。使用指定预测名称在训练“PredictorNames”
名称-值参数。所有的预测变量queryPoint
必须是数值向量。
queryPoint
可以包含额外的变量(响应变量,观察体重、等等),但沙普利
忽略了它们。
沙普利
不支持多列变量或细金宝app胞数组以外的细胞阵列的特征向量。
如果queryPoint
包含南
年代连续预测“方法”
是“conditional-kernel”
,然后夏普利值(ShapleyValues
在返回的对象南
年代。否则,沙普利
处理南
年代queryPoint
以同样的方式黑箱
(预测
对象的函数黑箱
或指定的函数处理黑箱
)。
例子::blackbox.X (1)
指定查询点作为第一次观察到完整的预测数据的机器学习模型黑箱
。
数据类型:单
|双
|表
指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
沙普利(黑箱,QueryPoint,问,“方法”,“conditional-kernel”)
创建一个沙普利
查询对象和计算夏普利值点问
使用扩展kernelSHAP算法。
CategoricalPredictors
- - - - - -分类预测列表“所有”
分类预测表,在这个表指定为一个值。
价值 | 描述 |
---|---|
向量的正整数 | 向量中的每个条目是一个索引值表明相应的预测分类。索引值介于1和 如果 |
逻辑向量 | 一个 |
字符矩阵 | 矩阵的每一行是一个预测变量的名字。名称必须匹配的变量名的形式表预测数据。垫的名字与额外的空格字符矩阵的每一行有相同的长度。 |
字符串数组或单元阵列的特征向量 | 数组中的每个元素是一个预测变量的名字。名称必须匹配的变量名的形式表预测数据。 |
“所有” |
所有预测都直言。 |
如果您指定黑箱
作为处理函数沙普利
识别分类预测的预测数据X
。如果预测的数据表中,沙普利
假设变量是直言如果它是一个逻辑向量,无序分类向量,字符数组,字符串数组或单元阵列特征向量。如果预测数据是一个矩阵,沙普利
假设所有的预测都是连续的。识别任何其他预测分类预测,通过使用指定它们“CategoricalPredictors”
名称-值参数。
如果您指定黑箱
作为回归或分类模型对象沙普利
通过使用的标识分类预测CategoricalPredictors
模型对象的属性。
沙普利
金宝app支持有序分类预测时黑箱
金宝app支持命令分类预测,“方法”
是“interventional-kernel”
。
例子:“CategoricalPredictors”、“所有”
数据类型:单
|双
|逻辑
|字符
|字符串
|细胞
MaxNumSubsets
- - - - - -最大数量的预测指标子集min (2 ^ M, 1024)
在哪里米
预测的数量吗(默认)|正整数方法
- - - - - -沙普利值计算算法“interventional-kernel”
(默认)|“conditional-kernel”
UseParallel
- - - - - -国旗并行运行假
(默认)|真正的
国旗并行运行,指定为真正的
或假
。如果您指定“UseParallel”,真的
,沙普利
函数执行for循环迭代并行使用parfor
。这个选项需要并行计算工具箱™。
例子:“UseParallel”,真的
数据类型:逻辑
BlackboxModel
- - - - - -机器学习模型来解释BlackboxFitted
- - - - - -预测查询点计算机器学习模型这个属性是只读的。
预测查询点计算的机器学习模型(BlackboxModel
),指定为一个标量。
如果BlackboxModel
是一个模型对象,那么BlackboxFitted
是回归的预测响应或分类的分类标签。
如果BlackboxModel
是一个函数处理呢BlackboxFitted
是一个返回值的函数处理,响应回归预测或预测评分的一个类分类。
数据类型:单
|双
|分类
|逻辑
|字符
|字符串
|细胞
CategoricalPredictors
- - - - - -分类预测指标[]
这个属性是只读的。
分类预测指标,指定为一个向量的正整数。CategoricalPredictors
包含索引值表明相应的预测分类。索引值介于1和p
,在那里p
预测的数量被用来训练模型。如果所有的预测都直言,那么这个属性是空的([]
)。
如果您指定黑箱
使用一个函数处理沙普利
识别分类预测的预测数据X
。如果你指定“CategoricalPredictors”
名称-值参数,参数设置这个属性。
如果您指定黑箱
作为回归或分类模型对象沙普利
决定使用这个属性CategoricalPredictors
模型对象的属性。
沙普利
金宝app支持有序分类预测时黑箱
金宝app支持命令分类预测,“方法”
是“interventional-kernel”
。
数据类型:单
|双
拦截
- - - - - -平均预测平均预测,预测数据的平均值X
,指定为一个数值向量或数字标量。
如果BlackboxModel
是一个分类模型对象呢拦截
是一个向量分类的平均分数为每个类。
如果BlackboxModel
是一个回归模型对象呢拦截
是一个标量的平均响应。
如果BlackboxModel
是一个函数处理呢拦截
是一个标量函数的平均评价。
查询点,沙普利值之和所有功能对应的总偏差预测的平均水平(拦截
)。
数据类型:单
|双
方法
- - - - - -沙普利值计算算法“interventional-kernel”
|“conditional-kernel”
NumSubsets
- - - - - -预测的子集这个属性是只读的。
数量的预测指标子集用于夏普利值计算,指定为一个正整数。
的“MaxNumSubsets”
的观点沙普利
或者是“MaxNumSubsets”
的观点适合
设置此属性。
有关如何沙普利
选择要使用的子集,明白了沙普利值计算的复杂性。
数据类型:单
|双
QueryPoint
- - - - - -查询点这个属性是只读的。
查询点沙普利
解释了一个预测利用夏普利值(ShapleyValues
),指定为一个行向量的数值或单列表。
的queryPoint
的观点沙普利
或者是queryPoint
的观点适合
设置此属性。
数据类型:单
|双
|表
ShapleyValues
- - - - - -沙普利值查询点这个属性是只读的。
沙普利值查询点(QueryPoint
),指定为一个表。
对于回归,表有两列。第一列包含预测变量的名称,第二列包含的夏普利值预测。
分类的表有两列或多列,根据类的数量BlackboxModel
。第一列包含预测变量的名字,和其余的列包含为每个类的夏普利值预测。
数据类型:表
X
- - - - - -预测数据沙普利
对象训练一个分类模型,并创建一个沙普利
对象。当您创建一个沙普利
对象,指定查询点,以便查询的软件计算夏普利值点。然后创建一个条形图的夏普利值通过使用对象的功能情节
。
加载CreditRating_Historical
数据集,数据集包含客户id和他们的财务比率,行业标签,信用评级。
台= readtable (“CreditRating_Historical.dat”);
显示表的前三行。
头(资源描述,3)
ans =3×8表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”拦截:[-0.5041 -0.3908 -0.3137 -0.3042 -0.4217……]
警告消息表明,计算可能会很慢,因为预测数据有超过1000的观察。更快的计算,使用一个更小的样本训练集或指定的“UseParallel”
作为真正的
。
对于一个分类模型,沙普利
计算夏普利值使用预测类分数为每个类。显示的值ShapleyValues
财产。
explainer.ShapleyValues
ans =6×8表预测AAA AA BBB BB B CCC __________ __________ __________…………………………“WC_TA”0.014715 0.0064376 0.0026704 0.00048882 -0.0079015 -0.011841 -0.011395“RE_TA”0.047918 0.026917 0.014751 -0.0031481 -0.02512 -0.059926 -0.08418“EBIT_TA e-05 -0.00018925 -0.00038135 -0.00033783 3.3904 0.0003427 0.00015025 0.00011977“MVE_BVTD”0.38334 0.37376 0.17563 -0.032136 -0.18728 -0.24831 -0.19585“S_TA”-0.0037304 -0.0026011 - -8.8854 -0.00081782 - -5.4936 e-05 e-05 0.00047882 - -0.00068998“行业”-0.028974 -0.013906 0.0010435 0.023298 0.026473 0.029898 0.045396
的ShapleyValues
属性包含所有功能的夏普利值为每个类。
情节的夏普利值预测类使用情节
函数。
情节(讲解员)
水平条形图显示了所有变量的夏普利值,按他们的绝对值。每个夏普利值解释查询的得分点的偏差的平均分数预测类,由于相应的变量。
沙普利
使用对象和计算夏普利值适合
训练一个回归模型,并创建一个沙普利
对象。当您创建一个沙普利
查询对象,如果你不指定一个点,然后软件不计算夏普利值。使用目标函数适合
指定的查询计算夏普利值点。然后创建一个条形图的夏普利值通过使用对象的功能情节
。
加载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
情节的夏普利值查询使用情节
函数。
情节(讲解员)
水平条形图显示了所有变量的夏普利值,按他们的绝对值。每个夏普利值解释查询的预测点的偏差从平均,由于相应的变量。
训练一个回归模型,并创建一个沙普利
使用一个函数处理的对象预测
的函数模型。使用目标函数适合
指定的查询计算夏普利值点。然后情节夏普利值通过使用对象的功能情节
。
加载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:));
情节夏普利值。
情节(讲解员)
在博弈论中,一个球员的夏普利值是平均边际贡献的球员合作游戏。上下文中的机器学习预测的夏普利值功能查询点解释特性预测的贡献(响应回归或得分的每个类分类)在指定的查询。
的夏普利值功能查询点的贡献平均预测偏差特性。查询点,沙普利值之和所有功能对应的总偏差预测的平均水平。也就是说,平均预测和沙普利值的总和为所有特性对应查询的预测点。
更多细节,请参阅沙普利值机器学习模型。
[1]Lundberg,斯科特·M。李,美国。“一个统一的方法来解释模型的预测”。先进的神经信息处理系统30 (2017):4765 - 774。
[2]Aas, Kjersti,马丁。Jullum,安德斯Løland。“解释个人预测当依赖特性:更精确的近似夏普利值。”arXiv: 1903.10464(2019)。
并行运行,设置UseParallel
名称-值参数真正的
在调用这个函数。
关于并行计算的更一般的信息,请参阅MATLAB函数自动并行支持运行金宝app(并行计算工具箱)。
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。