主要内容

情节

情节夏普利值

    描述

    例子

    图(讲解员的Shapley值的水平柱状图沙普利对象讲解员.这些值存储在对象的ShapleyValues财产。每个条形显示黑箱模型中每个特征的Shapley值(讲解员。BlackboxModel)作为查询点(讲解员。QueryPoint).

    例子

    图(讲解员名称,值使用一个或多个名称-值参数指定其他选项。例如,指定“NumImportantPredictors”,5绘制Shapley绝对值最高的五个特征的Shapley值。

    b =情节(___返回一个条形图对象b使用前面语法中的任何输入参数组合。使用b查询或修改栏属性柱状图的。

    例子

    全部折叠

    训练一个分类模型并创建一个沙普利对象。然后利用目标函数绘制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值情节函数。

    情节(讲解员)

    图中包含一个axes对象。标题为Shapley explain的axes对象包含一个类型为bar的对象。

    水平柱状图显示了所有变量的Shapley值,按它们的绝对值排序。每个Shapley值解释了查询点的分数与预测班级的平均分数的偏差,这是由相应的变量引起的。

    中指定所有类名,绘制所有类的Shapley值讲解员。BlackboxModel

    情节(讲解员,“类名”explainer.BlackboxModel.ClassNames)

    图中包含一个axes对象。标题为Shapley explain的axes对象包含7个类型为bar的对象。这些对象代表AAA, AA, A, BBB, BB, B, CCC。

    训练一个回归模型并创建一个沙普利对象。使用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)

    图中包含一个axes对象。标题为Shapley explain的axes对象包含一个类型为bar的对象。

    水平柱状图显示了五个最重要的预测因子的Shapley值,按它们的绝对值排序。每个Shapley值解释了查询点的预测与平均值的偏差,这是由相应的变量引起的。

    输入参数

    全部折叠

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

    名称-值参数

    指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

    在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

    例子:情节(讲解员,NumImportantPredictors 5“类名”,c)创建一个柱状图,其中包含该类的五个最重要预测因子的Shapley值c

    要绘制的重要预测数,指定为正整数。的情节函数绘制Shapley绝对值最高的指定数量的预测器的Shapley值。

    例子:“NumImportantPredictors”,5指定绘制五个最重要的预测器。的情节函数通过使用绝对Shapley值来确定重要性的顺序。

    数据类型:|

    类标记来绘制,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。中的值和数据类型“类名”类中类名的值必须匹配一会机器学习模型的性质讲解员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

    Baidu
    map