主要内容

情节

情节夏普利值

    描述

    例子

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

    例子

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

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

    例子

    全部折叠

    训练分类模型并创建沙普利对象。然后利用目标函数绘制Shapley值情节

    加载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”});

    创建一个沙普利对象,它解释了最后一次观测的预测。为了更快的计算,将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.014583 0.0064698 0.0027468 0.00045582 -0.0079591 -0.011811 -0.011279”RE_TA“0.047796 0.027083 0.015166 -0.0031936 -0.025054 -0.059564 -0.083439”EBIT_TA“0.00034326 0.0001524 0.00012384 3.5202 -0.00019141 e-05-0.00038252 -0.00033693 "MVE_BVTD" 0.38221 0.38229 0.19383 -0.0079011 -0.15755 -0.21522 -0.17022 "S_TA" -0.0035663 -0.0025991 -0.00021177 -0.0010166 -2.0989e-05 0.00041415 -0.00058882 "Industry" -0.028315 -0.013392 0.00089644 0.022877 0.025636 0.028485 0.044835

    ShapleyValues属性包含每个类的所有特性的Shapley值。

    的方法绘制预测类的Shapley值情节函数。

    情节(讲解员)

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

    水平条形图显示了所有变量的Shapley值,按它们的绝对值排序。每个Shapley值解释了由于相应的变量,查询点的分数与预测类的平均分数之间的偏差。

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

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

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

    训练一个回归模型并创建一个沙普利对象。使用对象函数适合来计算指定查询点的Shapley值。然后利用目标函数绘制预测器的Shapley值情节.调用时指定要绘制的重要预测器的数量情节函数。

    加载carbig数据集,其中包含20世纪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: [] BlackboxFitted: [] ShapleyValues: [] NumSubsets: 64 X: [392x7 table] CategoricalPredictors: [2 5] Method: ' interonal -kernel' Intercept: 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“Model_Year”-0.2926“重量”-0.32402

    控件绘制查询点的Shapley值情节函数。指定“NumImportantPredictors”,5只绘制预测反应的五个最重要的预测因子。

    情节(讲解员,“NumImportantPredictors”5)

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

    水平条形图显示了按绝对值排序的五个最重要预测器的Shapley值。每个Shapley值解释了由于相应的变量,查询点的预测与平均值之间的偏差。

    输入参数

    全部折叠

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

    名称-值参数

    指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

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

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

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

    数据类型:|

    要绘制的类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。中的值和数据类型“类名”属性中的类名必须匹配一会中机器学习模型的性质讲解员explainer.BlackboxModel.ClassNames).

    您可以指定一个或多个标签。如果指定多个类标签,该函数将用不同的颜色为每个特性绘制多个条形图。

    默认值是查询点(BlackboxFitted的属性讲解员).

    此参数仅在机器学习模型(BlackboxModel)讲解员是一个分类模型。

    例子:“类名”,{“红”、“蓝”}

    例子:“类名”,explainer.BlackboxModel.ClassNames指定“类名”所有的班级BlackboxModel

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

    更多关于

    全部折叠

    沙普利值

    在博弈论中,参与者的Shapley值是参与者在合作博弈中的平均边际贡献。在机器学习预测的上下文中,一个查询点的特征的Shapley值解释了该特征对指定查询点的预测(对回归的响应或分类的每个类的得分)的贡献。

    查询点的特征的Shapley值是特征对平均预测偏差的贡献。对于一个查询点,所有特征的Shapley值的和对应于预测与平均值的总偏差。也就是说,所有特征的平均预测和Shapley值的和对应于查询点的预测。

    有关详细信息,请参见机器学习模型的Shapley值

    参考文献

    Lundberg, Scott M和S. Lee。“解释模型预测的统一方法”神经信息处理系统研究进展30(2017): 4765 - 774。

    Aas, Kjersti, Martin。朱勒姆和安德斯·洛兰德。解释特征依赖时的个人预测:对Shapley值的更精确的近似arXiv: 1903.10464(2019).

    介绍了R2021a