主要内容

情节

局部可解释模型不可知解释(LIME)的绘图结果

    描述

    例子

    f=情节(结果在中可视化石灰结果石灰对象结果。该函数返回数字对象f. 使用f查询或修改图形属性在创建图形之后。

    • 图中包含一个水平条形图,它显示了一个线性简单模型的系数值或决策树简单模型的预测重要值,这取决于其中的简单模型结果简单模型性质结果).

    • 图中分别显示了使用机器学习模型和简单模型计算的查询点的两个预测。这些值对应于黑匣子财产和简单模型性质结果

    例子

    全部崩溃

    训练分类模型并创建石灰对象,该对象使用决策树简单模型。当您创建石灰对象,指定查询点和重要预测器的数量,以便软件生成合成数据集的样本,并为具有重要预测器的查询点拟合一个简单模型。然后利用目标函数在简单模型中显示估计的预测量的重要性情节

    加载信用评级数据集。该数据集包含客户id及其财务比率、行业标签和信用评级。

    tbl=可读(“CreditRating_Historical.dat”);

    显示表格的前三行。

    头(资源描述,3)
    ans=3×8表这是一个两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两两}424440.3110.3670.0741.9350.3661{'A'}

    通过从中删除客户ID和评级列,创建预测变量表资源描述

    tblX = removevars(资源描述,“ID”“评级”]);

    通过使用fitcecoc作用

    黑箱= fitcecoc (tblX,资源描述。评级,“CategoricalPredictors”“行业”);

    创建一个石灰对象,该对象使用决策树简单模型解释最后一次观察的预测。具体说明“NumImportantPredictors”为6,最多找到6个重要的预测因子。如果指定“QueryPoint”“NumImportantPredictors”的值石灰对象,然后软件生成一个合成数据集的样本,并将一个简单的可解释模型适合于该合成数据集。

    queryPoint = tblX(最终,:)
    查询点=1×6表WC_TA RE_TA EBIT_TA MVE_BVTD S_TA行业  _____ _____ _______ ________ ____ ________ 0.239 0.463 0.065 2.924 0.34 - 2
    rng (“默认”%为了再现性结果=石灰(黑盒,“QueryPoint”queryPoint,“NumImportantPredictors”6...“SimpleModelType”“树”
    结果=带属性的lime:BlackboxModel:[1x1 ClassificationCoC]数据位置:'global'分类预测因子:6类型:'classification'X:[3932x6表]查询点:[1x6表]NUM重要预测因子:6 NUM合成数据:5000合成数据:[5000x6表]拟合:{5000x1单元格}简单模型:[1x1 ClassificationTree]重要预测因子:[2x1 double]BlackboxFitted:{'AA'}SimpleModelFitted:{'AA'}

    绘制石灰对象结果通过使用对象函数情节。若要在任何预测器名称中显示现有下划线,请更改滴答计轴到的值“没有”

    f =情节(结果);f.CurrentAxes.TickLabelInterpreter =“没有”

    图中包含一个轴对象。带有决策树模型的标题为LIME的轴对象包含一个类型为bar的对象。

    图显示了查询点的两个预测,它们对应于黑匣子财产和简单模型性质结果

    水平条形图显示排序的预测值重要性值。石灰找到财务比率变量息税前利润WC_TA作为查询点的重要预测器。

    您可以使用数据提示或棒材特性.例如,你可以找到酒吧对象,使用findobj函数,并使用文本作用

    b = findobj (f,“类型”“酒吧”);文本(b.YEndPoints+0.001、b.XEndPoints、字符串(b.YData))

    图中包含一个轴对象。标题为“LIME with Decision Tree Model”的轴对象包含3个类型为bar、text的对象。

    或者,您可以使用预测器变量名在表中显示系数值。

    小鬼= b.YData;flipud (array2table(小鬼”,...“RowNames”f.CurrentAxes.YTickLabel,“VariableNames”,{“预测的重要性”}))
    ans=2×1表预测的重要性  ____________________ MVE_BVTD 0.088412 RE_TA 0.0018061

    训练一个回归模型并创建一个石灰对象,该对象使用线性简单模型。当你创建石灰对象,如果未指定查询点和重要预测值的数量,则软件将生成合成数据集的样本,但不适合简单模型。使用对象函数适合以适应查询点的简单模型。然后用目标函数显示拟合的线性简单模型的系数情节

    加载卡比格数据集,其中包含20世纪70年代和80年代初制造的汽车的测量数据。

    负载卡比格

    创建一个包含预测变量的表加快圆筒,等等,以及响应变量MPG

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

    删除训练集中缺少的值有助于减少内存消耗并加快训练速度fitrkernel函数。删除中缺少的值资源描述

    台= rmmissing(台);

    通过删除响应变量来创建预测变量表资源描述

    tblX=移除变量(tbl,“英里”);

    训练黑盒模型MPG通过使用fitrkernel作用

    rng (“默认”%为了再现性mdl=fitrkernel(tblX,tbl.MPG,“CategoricalPredictors”[2 - 5]);

    创建一个石灰对象。指定一个预测器数据集,因为mdl不包含预测数据。

    结果=石灰(mdl tblX)
    结果=石灰与属性:BlackboxModel: [1 x1 RegressionKernel] DataLocality:“全球”CategoricalPredictors:[2 5]类型:“回归”X: [392 x6表]QueryPoint: [] NumImportantPredictors: [] NumSyntheticData: 5000 SyntheticData: [5000 x6表)安装:x1双[5000]SimpleModel: [] ImportantPredictors: [] BlackboxFitted:[] SimpleModelFitted: []

    结果包含生成的合成数据集。的简单模型属性为空([]).

    为第一次观测拟合一个线性简单模型tblX. 将要查找的重要预测值的数量指定为3。

    : queryPoint = tblX (1)
    查询点=1×6表加速气缸排量马力模型年重量
    结果=拟合(结果,查询点,3);

    绘制石灰对象结果通过使用对象函数情节。若要在任何预测器名称中显示现有下划线,请更改滴答计轴到的值“没有”

    f =情节(结果);f.CurrentAxes.TickLabelInterpreter =“没有”

    图中包含一个轴对象。标题为LIME with Linear Model的轴对象包含一个bar类型的对象。

    图显示了查询点的两个预测,它们对应于黑匣子财产和简单模型性质结果

    水平条形图显示了简单模型的系数值,按其绝对值排序马力Model_Year圆筒作为查询点的重要预测器。

    Model_Year圆筒是具有多个类别的分类预测器。对于线性简单模型,软件为每个分类预测器创建的虚拟变量少于类别数。条形图仅显示最重要的虚拟变量。您可以使用简单模型性质结果.显示排序的系数值,包括所有分类虚拟变量。

    [~,I]=sort(abs(results.SimpleModel.Beta),“下降”);表(results.SimpleModel.expandedPredictor名称(I)”,results.SimpleModel.Beta(I),...“VariableNames”,{“Exteded预测的名字”“系数”})
    ans=17×2表Exteded预测名字系数  __________________________ ___________ {' -3.4485马力的}e-05 {Model_Year(74和70)的}-6.1279 e-07{“Model_Year(80和70)的}-4.015 e-07{“Model_Year(81和70)的}3.4176 e-07{“Model_Year(82和70)的}-2.2483 e-07{的圆柱体(6和8)}-1.9024 e-07{“Model_Year(76和70)的}1.8136 e-07{圆柱体(5 vs。8)'} 1.746e -07 {'Model_Year (75 vs. 70)'} 1.5456e-07 {'Model_Year (77 vs. 70)'} 1.4272e-07 {'Model_Year (78 vs. 70)'} 6.7001e-08 {'Model_Year (72 vs. 70)'} 4.7214e-08 {' cylinder (4 vs. 8)'} 4.518e -08 {'Model_Year (79 vs. 70)'} -2.2598e-08⋮

    输入参数

    全部崩溃

    石灰结果,指定为石灰对象。的简单模型性质结果必须包含一个合适的简单模型。

    参考文献

    [1] Ribeiro, Marco Tulio, S. Singh, C. Guestrin。“‘我为什么要相信你?’:解释任何分类器的预测。”第22届ACM SIGKDD国际知识发现与数据挖掘会议论文集, 1135 - 44。旧金山,加利福尼亚:ACM, 2016。

    在R2020b中引入