主要内容

情节

当地阴谋的结果可判断的model-agnostic解释(石灰)

自从R2020b

    描述

    例子

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

    • 图包含一个水平条形图显示一个线性的系数值简单的决策树模型或预测重要性值简单的模型,根据简单的模型结果(SimpleModel的属性结果)。

    • 查询的图显示两个预测点使用机器学习模型和简单的计算模型,分别。这些值对应BlackboxFitted财产和SimpleModelFitted的属性结果

    例子

    全部折叠

    训练一个分类模型,并创建一个石灰简单对象,使用决策树模型。当您创建一个石灰查询对象,指定一个点和一些重要的预测,以便软件生成样本的合成数据集和一个简单的模型查询点符合重要的预测因子。然后显示估计预测重要性的简单的模型通过使用目标函数情节

    加载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}

    创建一个表的预测变量的列的客户id和评级资源描述

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

    火车的黑箱模型使用的信用评级fitcecoc函数。

    黑箱= fitcecoc (tblX tbl.Rating,“CategoricalPredictors”,“行业”);

    创建一个石灰对象,解释了过去观察使用决策树预测简单的模型。指定“NumImportantPredictors”六找到最多6个重要的预测因子。如果你指定“QueryPoint”“NumImportantPredictors”当您创建一个值石灰对象,然后合成的软件生成样本数据集,要符合一个简单的解释模型合成数据集。

    queryPoint = tblX(最终,:)
    queryPoint =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”,“树”)
    结果=石灰与属性:BlackboxModel: [1 x1 ClassificationECOC] DataLocality:“全球”CategoricalPredictors: 6类型:“分类”X: [3932 x6表]QueryPoint: [1 x6表]NumImportantPredictors: 6 NumSyntheticData: 5000 SyntheticData: [5000 x6表)安装:{5000}x1细胞SimpleModel: [1 x1 ClassificationTree] ImportantPredictors: [2 x1双]BlackboxFitted: {“AA”} SimpleModelFitted: {“AA”}

    画出石灰对象结果通过使用对象的功能情节。显示现有的强调在任何预测的名字,改变TickLabelInterpreter轴的价值“没有”

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

    图包含一个坐标轴对象。坐标轴对象与标题石灰与决策树模型,包含预测的重要性,ylabel预测包含一个对象类型的酒吧。

    查询的情节显示两个预测点,对应BlackboxFitted财产和SimpleModelFitted的属性结果

    重要性水平条形图显示了分类预测的值。石灰发现财务比率变量MVE_BVTDRE_TA查询点的重要预测因子。

    你可以阅读酒吧使用数据提示或长度栏属性。例如,您可以找到酒吧通过使用对象findobj功能和添加标签的结束酒吧使用文本函数。

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

    图包含一个坐标轴对象。坐标轴对象与标题石灰与决策树模型,包含预测的重要性,ylabel预测包含3对象类型的酒吧,文本。

    或者,您可以显示表中的系数值与预测变量的名字。

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

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

    加载carbig的数据集,其中包含测量汽车在1970年代末和1980年代初。

    负载carbig

    创建一个表包含预测变量加速度,气缸等等,以及响应变量英里/加仑

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

    删除缺失值在一个训练集可以帮助减少内存消耗,加速训练fitrkernel函数。删除缺失值资源描述

    台= rmmissing(台);

    创建一个表的预测变量的反应变量资源描述

    tblX = removevars(资源描述,“英里”);

    火车的黑箱模型英里/加仑通过使用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: []

    结果包含生成的合成数据集。SimpleModel属性是空的([])。

    适合第一次观察到的简单线性模型tblX。指定数量的重要预测因素找到3。

    :queryPoint = tblX (1)
    queryPoint =1×6表加速汽缸位移马力Model_Year重量_______ _____ _______ __________ __________ ______ 12 8 307 130 70 3504
    结果=适合(结果,queryPoint, 3);

    画出石灰对象结果通过使用对象的功能情节。显示现有的强调在任何预测的名字,改变TickLabelInterpreter轴的价值“没有”

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

    图包含一个坐标轴对象。坐标轴对象与标题石灰与线性模型,包含系数,ylabel预测包含一个对象类型的酒吧。

    查询的情节显示两个预测点,对应BlackboxFitted财产和SimpleModelFitted的属性结果

    水平条形图显示了简单的模型的系数值,按他们的绝对值。石灰发现马力,Model_Year,气缸查询点的重要预测因子。

    Model_Year气缸是有多个类别的分类预测。线性的简单模型,软件创建一个哑变量小于的数量为每个分类预测类别。条形图只显示最重要的哑变量。你可以检查其他的系数使用虚拟变量SimpleModel的属性结果。显示分类系数值,包括所有分类虚拟变量。

    [~,我]=排序(abs (results.SimpleModel.Beta),“下”);表(results.SimpleModel.ExpandedPredictorNames (I)”, results.SimpleModel.Beta(我),“VariableNames”,{“扩展预测的名字”,“系数”})
    ans =17×2表扩大系数预测名字__________________________ ___________{的圆柱体(5和8)}0.18008 {“Model_Year(74和70)的}-0.082499 {“Model_Year(80和70)的}-0.052277 {“Model_Year(81和70)的}0.035987 {“Model_Year(82和70)的}-0.026442 {“Model_Year(71和70)的}0.014736 {“Model_Year(76和70)的}0.014723 {“Model_Year(75和70)的}0.013979 {“Model_Year(77和70)的}0.012762 {“Model_Year(78和70)的}0.0089647{的圆柱体(6和8)}-0.006972 {“Model_Year(79和70)的}-0.0058682 {“Model_Year(72和70)的}0.005654{的圆柱体(3和8)}-0.0023194 -0.00021074{“马力”}{的气缸(4和8)}0.00014773⋮

    输入参数

    全部折叠

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

    引用

    [1]里贝罗,马可杜立欧,辛格(manmohan Singh)和c . Guestrin。“我为什么要相信你?:解释任何分类器的预测。”22日ACM SIGKDD国际研讨会论文集知识发现和数据挖掘,1135 - 44。旧金山,加利福尼亚州:ACM, 2016。

    版本历史

    介绍了R2020b