情节
情节夏普利值
描述
图(
的Shapley值的水平柱状图讲解员
)沙普利
对象讲解员
.这些值存储在对象的ShapleyValues
财产。每个条形显示黑箱模型中每个特征的Shapley值(讲解员。
)作为查询点(BlackboxModel
讲解员。
).QueryPoint
b =情节(___)
返回一个条形图对象b
使用前面语法中的任何输入参数组合。使用b
查询或修改栏属性柱状图的。
例子
绘制所有阶级的Shapley值
训练一个分类模型并创建一个沙普利
对象。然后利用目标函数绘制Shapley值情节
.
加载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”});
创建一个沙普利
对象,用于解释对最后一次观测结果的预测。为了更快的计算,分采样25%的观察资源描述
并利用样本计算Shapley值。
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”}
rng (“默认”)%的再现性c = cvpartition(资源描述。评级,“坚持”, 0.25);: tbl_ =台(测试(c):);: tbl_讲解员=沙普利(黑盒,“QueryPoint”, queryPoint);
对于分类模型,沙普利
计算Shapley值使用预测的班级成绩为每个班。控件中的值显示ShapleyValues
财产。
讲解员。ShapleyValues
ans =6×8表预测AAA AA BBB BB B CCC __________ _________ __________ ___________ __________ ___________ __________ __________ " WC_TA“0.051042 0.022644 0.0096138 0.0015954 -0.027857 -0.04134 -0.039475”RE_TA“0.16729 0.094789 0.05308 -0.011178 -0.087689 -0.20847 -0.29204”EBIT_TA“0.0012014 0.00053338 0.00043344 0.00012321 -0.00066994 -0.0013388 -0.0011793”MVE_BVTD 1.3377 1.338 0.67839 -0.027654 -0.55142 -0.75327 -0.59577 -0.012482 -0.009097 -0.00074119 -0.0035582 -7.3462 0.0014495 e-05 S_TA”-0.0020609“工业”-0.099102 -0.046871 0.0031376 0.080071 0.089726 0.099699 0.15692
的ShapleyValues
属性包含每个类的所有特征的Shapley值。
方法绘制预测类的Shapley值情节
函数。
情节(讲解员)
水平柱状图显示了所有变量的Shapley值,按它们的绝对值排序。每个Shapley值解释了查询点的分数与预测班级的平均分数的偏差,这是由相应的变量引起的。
中指定所有类名,绘制所有类的Shapley值讲解员。BlackboxModel
.
情节(讲解员,“类名”explainer.BlackboxModel.ClassNames)
指定要绘制的重要预测数
训练一个回归模型并创建一个沙普利
对象。使用object函数适合
,计算指定查询点的Shapley值。然后利用目标函数绘制预测器的Shapley值情节
.方法时指定要绘制的重要预测器的数量情节
函数。
加载carbig
数据集,包含70年代和80年代早期生产的汽车的测量数据。
负载carbig
创建一个包含预测变量的表加速度
,气缸
,等等,以及响应变量英里/加仑
.
台=表(加速度、汽缸、排量、马力、Model_Year重量,MPG);
删除训练集中的缺失值可以帮助减少内存消耗并加速训练fitrkernel
函数。中删除缺失的值资源描述
.
台= rmmissing(台);
训练一个黑箱模型英里/加仑
通过使用fitrkernel
函数
rng (“默认”)%的再现性mdl = fitrkernel(资源描述,“英里”,“CategoricalPredictors”[2 - 5]);
创建一个沙普利
对象。指定数据集资源描述
,因为mdl
不包含培训数据。
讲解员=沙普利(mdl(资源)
explainer = shapley with properties: BlackboxModel: [1x1 RegressionKernel] QueryPoint: [] blackboxsuits: [] ShapleyValues: [] NumSubsets: 64 X: [392x7 table] CategoricalPredictors:[2 5]方法:' interference -kernel'拦截:22.6202
讲解员
存储培训数据资源描述
在X
财产。
计算第一个观测值的所有预测变量的Shapley值资源描述
.
: queryPoint =(资源(1)
queryPoint =表1×7加速气缸位移马力Model_Year体重MPG ____________ _________ ____________ __________ __________ ______ ___ 12 8 307 130 70 3504
讲解员=适合(讲解员,queryPoint);
对于回归模型,沙普利
计算Shapley值使用预测响应,并将它们存储在ShapleyValues
财产。控件中的值显示ShapleyValues
财产。
讲解员。ShapleyValues
ans =6×2表预测ShapleyValue ______________ ____________“加速度”-0.1561“气缸”-0.18306“位移”-0.34203“马力”-0.27291“型号_year”-0.2926“重量”- 0.3402
方法绘制查询点的Shapley值情节
函数。指定“NumImportantPredictors”,5
仅绘制预测反应的五个最重要的预测因子。
情节(讲解员,“NumImportantPredictors”5)
水平柱状图显示了五个最重要的预测因子的Shapley值,按它们的绝对值排序。每个Shapley值解释了查询点的预测与平均值的偏差,这是由相应的变量引起的。
输入参数
讲解员
- - - - - -对象解释黑箱模型
沙普利
对象
对象解释黑箱模型,指定为沙普利
对象。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:情节(讲解员,NumImportantPredictors 5“类名”,c)
创建一个柱状图,其中包含该类的五个最重要预测因子的Shapley值c
.
NumImportantPredictors
- - - - - -要绘制的重要预测数
分钟(M, 10)
在哪里米
是预测因子的数量吗(默认)|正整数
要绘制的重要预测数,指定为正整数。的情节
函数绘制Shapley绝对值最高的指定数量的预测器的Shapley值。
例子:“NumImportantPredictors”,5
指定绘制五个最重要的预测器。的情节
函数通过使用绝对Shapley值来确定重要性的顺序。
数据类型:单
|双
一会
- - - - - -类标签来绘制
讲解员。BlackboxFitted
(默认)|分类数组|字符数组|逻辑向量|数值向量|字符向量的单元格数组
类标记来绘制,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。中的值和数据类型“类名”
类中类名的值必须匹配一会
机器学习模型的性质讲解员
(explainer.BlackboxModel.ClassNames
).
您可以指定一个或多个标签。如果指定多个类标签,函数将用不同的颜色为每个特征绘制多个条形图。
默认值是查询点的预测类BlackboxFitted
的属性讲解员
).
只有当机器学习模型(BlackboxModel
)讲解员
是一个分类模型。
例子:“类名”,{“红”、“蓝”}
例子:“类名”,explainer.BlackboxModel.ClassNames
指定“类名”
就像所有的类BlackboxModel
.
数据类型:单
|双
|逻辑
|字符
|细胞
|分类
更多关于
沙普利值
在博弈论中,参与人的Shapley值是合作博弈中参与人的平均边际贡献。在机器学习预测的上下文中,一个查询点的特征的Shapley值解释了该特征在指定查询点对预测的贡献(回归响应或每个类的分类评分)。
查询点的特征Shapley值是该特征对平均预测偏差的贡献。对于一个查询点,所有特征的Shapley值的和对应于预测与平均值的总偏差。也就是说,所有特征的平均预测值和Shapley值的和对应于查询点的预测。
有关更多细节,请参见机器学习模型的Shapley值.
参考文献
[1]伦德伯格,斯科特·M.和S.李。解释模型预测的统一方法。神经信息处理系统的研究进展30(2017): 4765 - 774。
Aas, Kjersti, Martin。Jullum和Anders Løland。当特征相互依赖时,解释个人预测:Shapley值的更精确近似。arXiv: 1903.10464(2019)。
版本历史
介绍了R2021a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。