局部可解释模型不可知解释(LIME)
石灰通过查找重要的预测值并拟合简单的可解释模型,解释对查询点的机器学习模型(分类或回归)的预测。
您可以创建一个石灰
具有指定查询点的机器学习模型的对象(查询点
)及指定数目的重要预测因子(numImportantPredictors
)。该软件生成一个合成数据集,并拟合重要预测值的简单可解释模型,该模型可有效解释查询点周围合成数据的预测。简单模型可以是线性模型(默认)或决策树模型。
使用拟合的简单模型来解释机器学习模型在指定查询点的局部预测。使用情节
功能可视化石灰结果。立足本土的解释,你可以决定是否要信任机器学习模型。
通过使用适合另一个查询点的新的简单模型适合
函数。
创建一个结果
=石灰(黑匣子
“CustomSyntheticData”,customSyntheticData
)石灰
对象使用预生成的,定制合成的预测数据集customSyntheticData
这个石灰
函数计算中样本的预测customSyntheticData
.
还可以找到指定数量的重要预测值,并为查询点拟合线性简单模型结果
=石灰(___“QueryPoint”,查询点
'NumImportantPredictors',numImportantPredictors
)查询点
.您可以指定查询点
和numImportantPredictors
除了前面语法中的任何输入参数组合之外。
黑匣子
- - - - - -需要解释的机器学习模型要解释机器学习模型,指定为一个完整的或紧凑回归或分类模型对象或函数句柄。
完整或紧凑模型对象-您可以指定完整或紧凑的回归或分类模型对象,它具有预测
对象的功能。该软件使用预测
函数来计算查询点和合成预测器数据集的预测。
如果指定的模型对象不包含预测器数据(例如,紧凑模型),则必须使用提供预测器数据X
或customSyntheticData
.
石灰
不支持使用稀疏矩阵金宝app训练的模型对象。当您训练一个模型时,使用一个完整的数字矩阵或表格来表示预测器数据,其中行对应于单个的观察结果。
回归模型对象
金宝app支持模型 | 完整或紧凑回归模型对象 |
---|---|
回归模型集成 | 回归套 ,回归分析 ,CompactRegressionEnsemble |
高斯核回归模型采用随机特征展开 | 回归核 |
高斯过程回归 | 回归方程 ,CompactRegressionGP |
广义加性模型 | RegressionGAM ,紧回归GAM |
高维数据的线性回归 | RegressionLinear |
神经网络回归模型 | 回归神经网络 ,CompactRegressionNeuralNetwork |
回归树 | 回归树 ,紧回归树 |
金宝app支持向量机回归 | RegressionSVM ,压缩回归 |
分类模型对象
金宝app支持模型 | 完整或紧凑分类模型对象 |
---|---|
用于多类分类的二叉决策树 | 分类树 ,紧分类树 |
判别分析分类器 | ClassificationDiscriminant ,紧分类判别式 |
用于分类的学习者集合 | 分类符号 ,压缩分类插入码 ,分类BaggedAssemble |
高斯核分类模型使用随机特征展开 | ClassificationKernel |
广义加性模型 | ClassificationGAM ,CompactClassificationGAM |
k最近的邻居模型 | ClassificationKNN |
线性分类模型 | 分类线性 |
支持向量机或其他分类器的多类模型金宝app | 分类 ,紧凑分类 |
朴素贝叶斯模型 | ClassificationNaiveBayes ,CompactClassificationNaiveBayes |
神经网络分类器 | 分类神经网络 ,紧分类神经网络 |
金宝app支持向量机在二值分类中的应用 | ClassificationSVM ,CompactClassificationSVM |
函数句柄-您可以指定一个函数句柄,该句柄接受预测数据并返回一个列向量,该列向量包含预测数据中每个观测值的预测。该预测是回归的预测响应或分类的分类标签。您必须使用X
或customSyntheticData
并指定“类型”
名称-值参数。
X
- - - - - -预测数据预测器数据,指定为数字矩阵或表格。每行X
对应一个观察值,每一列对应一个变量。
X
必须与培训的预测数据一致黑匣子
,存储在黑箱。X
这个年代pecified value must not contain a response variable.
X
必须具有与预测变量相同的数据类型(例如,trainX
),训练黑匣子
这个variables that make up the columns ofX
必须有相同的数字和顺序trainX
.
如果你训练黑匣子
那么,用一个数字矩阵X
必须是数字矩阵。
如果你训练黑匣子
那就用桌子吧X
必须是表。中的所有预测变量X
必须具有与中相同的变量名和数据类型trainX
.
石灰
不支持稀疏矩阵。金宝app
如果黑匣子
是不包含预测数据或功能手柄模型对象,你必须提供X
或customSyntheticData
.如果黑匣子
是一个完整的机器学习模型对象,请指定此参数,然后石灰
不使用中的预测数据黑匣子
.它仅使用指定的预测数据。
数据类型:单身的
|双
|表格
customSyntheticData
- - - - - -预生成的自定义合成预测数据集[]
(默认)|数值矩阵|表格预先生成的、自定义的合成预测器数据集,指定为数字矩阵或表。
如果提供预生成的数据集,则石灰
使用提供的数据集,而不是生成新的合成预测数据集。
customSyntheticData
必须与培训的预测数据一致黑匣子
,存储在黑箱。X
这个年代pecified value must not contain a response variable.
customSyntheticData
必须具有与预测变量相同的数据类型(例如,trainX
),训练黑匣子
这个variables that make up the columns ofcustomSyntheticData
必须有相同的数字和顺序trainX
如果你训练黑匣子
那么,用一个数字矩阵customSyntheticData
必须是数字矩阵。
如果你训练黑匣子
那就用桌子吧customSyntheticData
必须是表。中的所有预测变量customSyntheticData
必须具有与中相同的变量名和数据类型trainX
.
石灰
不支持稀疏矩阵。金宝app
如果黑匣子
是不包含预测数据或功能手柄模型对象,你必须提供X
或customSyntheticData
.如果黑匣子
是一个完整的机器学习模型对象,请指定此参数,然后石灰
不使用中的预测数据黑匣子
;它仅使用指定的预测数据。
数据类型:单身的
|双
|表格
查询点
- - - - - -查询点查询点石灰
解释以数字值或单行表的行向量指定的预测。查询点
必须有相同的数据类型和列数X
,customSyntheticData
,或中的预测数据黑匣子
.
如果您指定numImportantPredictors
和查询点
,那么石灰
函数在创建模型时适用于简单模型石灰
对象。
查询点
不能包含缺失的值。
例子:: blackbox.X (1)
指定查询点作为完整机器学习模型中预测器数据的第一个观察值黑匣子
.
数据类型:单身的
|双
|表格
numImportantPredictors
- - - - - -简单模型中使用的重要预测值的数量在简单模型中使用的重要预测数,指定为正整数标量值。
如果“SimpleModelType”
是“线性”
,然后软件选择指定数量的重要预测值,并拟合所选预测值的线性模型。
如果“SimpleModelType”
是“树”
,然后软件指定决策拆分(或分支节点)的最大数量作为重要预测器的数量,以便拟合的决策树最多使用指定数量的预测器。
如果您指定numImportantPredictors
和查询点
,那么石灰
函数在创建模型时适用于简单模型石灰
对象。
数据类型:单身的
|双
指定可选的逗号分隔的字符对名称、值
论据。姓名
是参数名和价值
为对应值。姓名
必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值
.
石灰
(黑匣子
,“QueryPoint”
问,“NumImportantPredictors”
n“SimpleModelType”,“树”)
将查询点指定为问
,用于简单模型的重要预测值的数量如下n
,简单模型的类型为决策树模型。石灰
生成合成预测器数据集的样本,计算样本的预测,并使用最多指定数量的预测器拟合查询点的决策树模型。
“DataLocality”
- - - - - -用于数据生成的合成数据的局部性“全球”
(默认)|“本地”
用于数据生成的合成数据的位置,指定为由逗号分隔的对组成“DataLocality”
和“全球”
或“本地”
.
“全球”
-软件使用整个预测器数据集估计分布参数(X
或中的预测数据黑匣子
).软件生成与所估计的参数的合成预测数据集并使用任何查询点的简单模型拟合所述数据集。
“本地”
-该软件估计分布参数使用k-查询点的最近邻,其中k是“NumNeighbors”
价值。该软件生成一个新的综合预测数据集,每次它适合一个简单的模型,为指定的查询点。
有关详细信息,请参见石灰.
例子:“数据位置”,“本地”
数据类型:字符
|字符串
“NumNeighbors”
- - - - - -查询点的邻居数查询点的邻居数,由逗号分隔的对组成“NumNeighbors”
和一个正整数标量值。此参数仅在以下情况下有效“DataLocality”
是“本地”
.
如果指定的值大于预测器数据集中的观察数(X
或中的预测数据黑匣子
),然后石灰
使用所有观察结果。
例子:《纽曼尼斯堡》,2000年
数据类型:单身的
|双
“NumSyntheticData”
- - - - - -为合成数据集生成的样本数为合成数据集生成的样本数,指定为逗号分隔对,由“NumSyntheticData”
和一个正整数标量值。此参数仅在以下情况下有效“DataLocality”
是“本地”
.
例子:“NumSyntheticData”,2500年
数据类型:单身的
|双
“内核宽度”
- - - - - -粒宽的平方的指数(或高斯分布)的核函数,指定为逗号分隔的一对组成的核宽度“内核宽度”
和一个数值标量值。
的石灰
函数计算查询点与合成预测数据集中样本之间的距离,然后使用平方指数核函数将距离转换为权值。如果你降低“内核宽度”
那么价值呢石灰
使用更关注查询点附近样本的权重。有关详细信息,请参阅石灰.
例子:“内核宽度”,0.5
数据类型:单身的
|双
“SimpleModelType”
- - - - - -简单模型的类型“线性”
(默认)|“树”
简单模型的类型,指定为由逗号分隔的对组成“SimpleModelType”
和“线性”
或“树”
.
“线性”
-该软件通过使用菲特利恩
回归或fitclinear
的分类。
例子:“SimpleModelType”、“树”
数据类型:字符
|字符串
“CategoricalPredictors”
- - - - - -分类预测因子表“全部”
分类预测器列表,指定为逗号分隔对,由“CategoricalPredictors”
和此表中的一个值。
价值 | 描述 |
---|---|
正整数向量 | 向量中的每个条目都是对应于包含分类变量的预测器数据列的索引值。索引值在1到之间 如果 |
逻辑向量 | 一个 |
字符矩阵 | 矩阵的每一行都是一个预测变量的名称。这些名称必须以表的形式与预测器数据的变量名称相匹配。用额外的空格填充名字,这样字符矩阵的每一行都有相同的长度。 |
字符向量的字符串数组或单元格数组 | 数组中的每个元素都是一个预测器变量的名称。这些名称必须与表形式的预测器数据的变量名称相匹配。 |
“全部” |
所有的预测都是绝对的。 |
如果您指定黑匣子
作为函数句柄石灰
从预测值数据中识别分类预测值X
或customSyntheticData
.如果预测器数据在表中,石灰
如果一个变量是逻辑向量、无序分类向量、字符数组、字符串数组或字符向量的单元格数组,则假设它是类别变量。如果预测数据是一个矩阵,石灰
假设所有预测值都是连续的。
如果您指定黑匣子
作为回归或分类模型对象石灰
通过使用CategoricalPredictors
属性。
石灰
不支持有序分类预测金宝app器。
例子:“CategoricalPredictors”、“所有”
数据类型:单身的
|双
|逻辑
|字符
|字符串
|单间牢房
“类型”
- - - - - -机器学习模型的类型的回归
|“分类”
机器学习模型的类型,指定为逗号分隔对,由“类型”
和的回归
或“分类”
.
指定时必须指定此参数黑匣子
作为函数句柄。如果指定黑匣子
作为回归或分类模型对象石灰
决定了“类型”
值,具体取决于模型类型。
例子:“类型”、“分类”
数据类型:字符
|字符串
“距离”
- - - - - -距离度量距离度量,指定为逗号分隔的一对组成的“距离”
以及字符向量、字符串标量或函数句柄。
如果预测数据仅包括连续变量,则石灰
金宝app支持这些距离度量。
价值 | 描述 |
---|---|
“欧几里得” |
欧几里德距离。 |
“seuclidean” |
标准化的欧氏距离。观测值之间的每个坐标差除以相应的标准差, |
“mahalanobis” |
马氏距离的样本协方差 |
“cityblock” |
城市街区的距离。 |
闵可夫斯基的 |
闵可夫斯基距离。默认指数是2。要指定不同的指数,请使用 |
“切比切夫” |
切比切夫距离(最大坐标差)。 |
的余弦 |
1减去点之间夹角的余弦值(作为向量)。 |
“相关性” |
一减去点之间的样本相关性(作为值的序列处理)。 |
“枪兵” |
1减去样本斯皮尔曼观察值之间的等级相关性(视为值序列)。 |
@ |
自定义距离功能手柄。距离函数有这样的形式 作用D2=距离(ZI,ZJ)%距离计算...
如果数据不是稀疏的,通常可以使用内置距离度量而不是函数句柄更快地计算距离。 |
如果预测数据同时包含连续变量和分类变量,那么石灰
金宝app支持这些距离度量。
价值 | 描述 |
---|---|
“goodall3” |
修改古德距离 |
“ofd” |
发生频率距离 |
对于定义,请参阅距离度量.
默认值为“欧几里得”
如果预测数据只包含连续变量,或“goodall3”
如果预测数据包括连续变量和分类变量。
例子:“距离”、“海底钻井的
数据类型:字符
|字符串
|function_handle
“浸”
- - - - - -马氏距离度量的协方差矩阵马氏距离度量的协方差矩阵,指定为逗号分隔对,包括“浸”
和K——- - - - - -K正定矩阵,其中K是预测值的数量。
此参数仅当“距离”
是“mahalanobis”
.
默认值“浸”
价值是浸(PD omitrows)
,在那里PD
是预测数据或合成预测数据。如果未指定“浸”
值,然后软件在计算预测数据和合成预测数据的距离时使用不同的协方差矩阵。
例子:“浸”,眼睛(3)
数据类型:单身的
|双
“P”
- - - - - -Minkowski距离度量的指数2
(默认)|正标量“规模”
- - - - - -尺度参数值的标准欧几里得距离度量尺度参数值为标准化的欧几里得距离度量,指定为逗号分隔对组成“规模”
和长度的非负数值向量K,在那里K是预测值的数量。
此参数仅当“距离”
是“seuclidean”
.
默认值“规模”
价值是标准(PD,'omitnan')
,在那里PD
是预测数据或合成预测数据。如果未指定“规模”
值,然后软件在计算预测数据和合成预测数据的距离时使用不同的尺度参数。
例子:“规模”,分位数(0.75 X)——分位数(0.25 X))
数据类型:单身的
|双
在创建对象时,可以指定以下属性石灰
对象。
黑箱模型
- - - - - -需要解释的机器学习模型CategoricalPredictors
- - - - - -分类预测指数[]
此属性是只读的。
分类预测指标,指定为一个正整数向量。CategoricalPredictors
包含与包含分类预测器的预测器数据列对应的索引值。如果没有任何预测器是绝对的,则此属性为空([]
).
如果您指定黑匣子
使用函数句柄,然后石灰
从预测值数据中识别分类预测值X
或customSyntheticData
.如果指定“CategoricalPredictors”
名称-值参数,然后参数设置此属性。
如果您指定黑匣子
作为回归或分类模型对象石灰
通过使用CategoricalPredictors
属性。
石灰
不支持有序分类预测金宝app器。
如果“SimpleModelType”
是“线性”
(默认)石灰
为每个确定的分类预测器创建虚拟变量。石灰
将指定查询点的类别视为参考组,并创建比类别数量少一个的虚拟变量。有关详细信息,请参见带参考组的虚拟变量.
数据类型:单身的
|双
数据位置
- - - - - -用于数据生成的合成数据的局部性“全球”
|“本地”
NumImportantPredictors
- - - - - -简单模型中使用的重要预测值的数量此属性是只读的。
在简单模型中使用的重要预测因子数目(SimpleModel
),指定为正整数标量值。
的numImportantPredictors
论据石灰
或者是numImportantPredictors
论据适合
设置此属性。
数据类型:单身的
|双
NumSyntheticData
- - - - - -合成数据集中的样本数此属性是只读的。
合成数据集中的样本数,指定为正整数标量值。
如果您指定customSyntheticData
,则自定义合成数据集中的样本数将设置此属性。
否则“NumSyntheticData”
的名称值参数石灰
或者是“NumSyntheticData”
的名称值参数适合
设置此属性。
数据类型:单身的
|双
QueryPoint
- - - - - -查询点X
- - - - - -预测数据此属性是只读的。
预测器数据,指定为数字矩阵或表格。
每行X
对应一个观察值,每一列对应一个变量。
如果指定X
参数,则该参数设置此属性。
如果指定customSyntheticData
参数,则此属性为空。
如果您指定黑匣子
作为完整的机器学习模型对象,不指定X
或customSyntheticData
,则该属性值为用于训练的预测数据黑匣子
.
石灰
不使用包含缺失值的行,且不将行存储在X
.
数据类型:单身的
|双
|表格
该软件计算下列属性。
黑匣子
- - - - - -基于机器学习模型的查询点预测合身
- - - - - -基于机器学习模型的综合预测数据预测ImportantPredictors
- - - - - -重要的预测指标SimpleModel
- - - - - -简单模型RegressionLinear
模型对象|回归树
模型对象|分类线性
模型对象|分类树
模型对象此属性是只读的。
简单模型,指定为RegressionLinear
,回归树
,分类线性
,或分类树
模型对象。石灰
根据机器学习模型的类型确定简单模型对象的类型(类型
)以及简单模型的类型(“SimpleModelType”
).
简单模型
- - - - - -用简单模型计算查询点的预测SyntheticData
- - - - - -综合预测数据此属性是只读的。
合成的预测数据,指定为数字矩阵或表。
如果指定customSyntheticData
输入参数,然后该参数设置此属性。
除此以外,石灰
从预测器数据估计分布参数X
并生成合成预测数据集。
数据类型:单身的
|双
|表格
培训分类模型并创建石灰
对象,该对象使用决策树简单模型。当你创建石灰
对象,指定查询点和重要预测器的数量,以便软件生成合成数据集的样本,并为具有重要预测器的查询点拟合一个简单模型。然后利用目标函数在简单模型中显示估计的预测量的重要性情节
.
加载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'}
通过消除客户ID和评级的列创建预测变量的表tbl
.
tblX = removevars(资源描述,“ID”,“评分”]);
通过使用菲切克
函数。
黑箱= fitcecoc(tblX,tbl.Rating,“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 =“没有”;
绘图显示查询点的两个预测,它们对应于黑匣子财产和简单模型性质结果
.
水平条形图显示排序的预测值重要性值。石灰
查找财务比率变量EBIT_TA
和WC_TA
作为查询点的重要预测器。
您可以通过使用数据提示读取条形码长度或栏属性.例如,您可以找到酒吧
通过使用findobj
函数,并在栏的末端添加标签文本
函数。
b = findobj (f,“类型”,“酒吧”); 文本(b.YEndPoints+0.001、b.XEndPoints、字符串(b.YData))
或者,也可以与预测变量名称的表显示的系数值。
小鬼= b.YData;flipud(array2table(IMP”,...'RowNames',f.CurrentAxes.YTickLabel,“VariableNames”,{“预测的重要性”}))
ans =2×1表预测的重要性 ____________________ MVE_BVTD 0.088412 RE_TA 0.0018061
训练回归模型并创建石灰
对象,该对象使用线性简单模型。当你创建石灰
对象,如果不指定查询点和重要预测器的数量,则软件生成合成数据集的样本,但不适合简单模型。使用对象函数适合
以适应查询点的简单模型。然后用目标函数显示拟合的线性简单模型的系数情节
.
加载carbig
数据集,其中包含20世纪70年代和80年代初制造的汽车的测量数据。
负载carbig
创建一个包含预测变量的表加快
,气缸
,等等,以及响应变量英里/加仑
.
台=表(加速度、汽缸、排量、马力、Model_Year重量,MPG);
删除训练集中缺失的值可以帮助减少内存消耗并加速训练菲特克内尔
函数。删除tbl
.
台= rmmissing(台);
通过从除去响应变量创建预测变量的表tbl
.
tblX=移除变量(tbl,“英里”);
训练黑盒模型英里/加仑
通过使用菲特克内尔
函数。
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,:)
查询点=1×6表加速气缸位移马力Model_Year重量 ____________ _________ ____________ __________ __________ ______ 12 8 307 130 70 3504
结果=拟合(结果,查询点,3);
绘制石灰
对象结果
通过使用目标函数情节
.要在任何预测器名称中显示现有的下划线,请更改滴答计
轴到的值“没有”
.
f =情节(结果);f.CurrentAxes.TickLabelInterpreter =“没有”;
绘图显示查询点的两个预测,它们对应于黑匣子财产和简单模型性质结果
.
横条形图显示了简单模型的系数值,按其绝对值排序。石灰发现马力
,Model_Year
,气缸
作为查询点的重要预测器。
Model_Year
和气缸
是具有多个类别的分类预测器。对于线性简单模型,该软件创建的虚拟变量比每个类别预测器的类别数量少一个。条形图只显示最重要的哑变量。你可以检查其他虚拟变量的系数使用SimpleModel
性质结果
.显示排序的系数值,包括所有分类虚拟变量。
[~,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⋮
训练回归模型并创建石灰
对象的函数句柄预测
模型的功能。使用对象函数适合
为指定的查询点拟合简单模型。然后使用目标函数显示拟合的线性简单模型的系数情节
.
加载carbig
数据集,其中包含20世纪70年代和80年代初制造的汽车的测量数据。
负载carbig
创建一个包含预测变量的表加快
,气缸
,等等。
台=表(加速度、汽缸、排量、马力、Model_Year重量);
训练黑盒模型英里/加仑
通过使用树人
函数。
rng (“默认”)%的再现性Mdl = TreeBagger(100台,英里/加仑,“方法”,“回归”,“CategoricalPredictors”[2 - 5]);
石灰
不支持金宝app树人
对象,因此不能指定的第一个输入参数(黑盒模型)石灰
作为一个树人
对象。相反,你可以使用函数句柄预测
函数。的选项预测
函数使用函数的名称-值参数。
的函数句柄预测
的函数树人
对象Mdl
.指定要使用的树索引数组1:50
.
myPredict = @(tbl) predict(Mdl,tbl,)“树”,1:50);
创建一个石灰
对象使用函数句柄我的预测
.当您指定黑箱模型作为函数句柄时,您必须提供预测器数据并指定“类型”
名称-值参数。tbl
包括分类预测因子(圆柱
和Model_Year
)双
数据类型。默认情况下,石灰
不使用双
数据类型作为分类预测。指定第二(圆柱
)及第五(Model_Year
)变量作为分类预测因子。
结果=石灰(myPredict、台、“类型”,“回归”,“CategoricalPredictors”[2 - 5]);
为第一次观测拟合线性简单模型tbl
.要在任何预测器名称中显示现有的下划线,请更改滴答计
轴到的值“没有”
.
结果=适合(结果,台(1:),4);f =情节(结果);f.CurrentAxes.TickLabelInterpreter =“没有”;
石灰
发现马力
,移位
,气缸
,Model_Year
作为重要的预测因子。
距离度量是定义两个观察之间的距离的函数。石灰
金宝app支持用于连续变量和连续变量和分类变量的混合各种距离度量。
连续变量的距离度量
给定一个mx——- - - - - -n数据矩阵X,被视为mx(一)-n)行向量x1,x2、……xmx, 和我的——- - - - - -n数据矩阵Y,被视为我的(一)-n)行向量y1,y2、……y我的,向量之间的各种距离x年代和yt定义如下:
欧氏距离
欧几里得距离是闵可夫斯基距离的一种特例p= 2.
标准化欧氏距离
在哪里V是n——- - - - - -n对角矩阵的j第Th对角元素为(年代(j))2,在那里年代是缩放因子对每个维度的向量。
Mahalanobis距离
在哪里C是协方差矩阵。
城市街区距离
城市街区距离是闵可夫斯基距离的一种特殊情况p= 1.
闵可夫斯基距离
对于特殊情况p= 1,闵可夫斯基距离表示城市街区距离。对于特殊情况p= 2,闵可夫斯基距离给出了欧氏距离。对于特殊情况p=∞,闵可夫斯基距离给出了切比切夫距离。
Chebychev距离
Chebychev距离是Minkowski距离的特例,其中p=∞.
余弦距离
相关距离
在哪里
和
斯皮尔曼的距离
在哪里
连续变量和分类变量混合的距离度量
修改古德距离
这个距离是古德尔距离,如果匹配的值而不管其他值的频率的不频繁其中分配一个小的距离的变体。对于不匹配,预测的距离贡献为1 /(变量数)。
发生频率距离
对于匹配,出现频率距离指定为零距离。对于不匹配,出现频率距离在频率较低的值上分配较高的距离,在频率较高的值上分配较低的距离。
使用LIME解释机器学习模型的预测[1],该软件生成一个合成数据集,并通过使用该合成数据集拟合一个简单的可解释模型石灰
和适合
,如步骤1-5所述。
如果指定查询点
和numImportantPredictors
价值观石灰
,那么石灰
函数执行所有步骤。
如果没有指定查询点
和numImportantPredictors
并具体说明“DataLocality”
作为“全球”
(默认),那么石灰
函数生成一个合成数据集(步骤1-2),并且适合
功能适合一个简单的模型(步骤3-5)。
如果没有指定查询点
和numImportantPredictors
并具体说明“DataLocality”
作为“本地”
,那么适合
函数执行所有步骤。
的石灰
和适合
函数执行以下步骤:
生成一个综合预测数据集X年代对连续变量使用多元正态分布,对每个分类变量使用多项式分布。您可以使用“NumSyntheticData”
名称-值参数。
如果“DataLocality”
是“全球”
(默认),然后软件从整个预测器数据集(X
或中的预测数据黑匣子
).
如果“DataLocality”
是“本地”
,则该软件使用k查询点的最近邻,其中k是“NumNeighbors”
价值。属性可以指定一个距离度量来查找最近的邻居“距离”
名称-值参数。
该软件在预测数据集估计所述分布参数时忽略缺失值。
或者,您可以通过使用提供了一个预生成,定制合成预测数据集customSyntheticData
输入参数的石灰
.
计算预测Y年代对于合成数据集X年代。预测是回归的预测响应或分类标签。软件使用预测
的函数黑匣子
模型来计算预测。如果您指定黑匣子
作为函数句柄,然后软件使用函数句柄计算预测。
计算距离d在查询点和合成预测数据集中的样本之间,使用指定的距离度量“距离”
.
计算权重值w问关于查询点的合成预测数据集中的样本数问使用平方指数(或高斯)核函数
x年代是合成预测数据集中的样本X年代.
d(x年代,问)样品之间的距离是多少x年代以及查询点问.
p预测器的数量在吗X年代.
σ是内核宽度,可以使用“内核宽度”
名称-值参数。默认值“内核宽度”
值是0.75。
在查询点的权重值1,然后将其收敛到零作为距离值增加。的“内核宽度”
值控制权重值收敛到零的速度。越低“内核宽度”
值越大,权值收敛到零的速度越快。因此,该算法赋予了查询点附近的样本更大的权重。由于该算法使用了这样的权重值,所选择的重要预测因子和拟合的简单模型有效地解释了查询点附近的局部合成数据的预测。
适合一个简单的模型。
如果“SimpleModelType”
是“线性”
(默认),然后软件选择重要预测值并拟合所选重要预测值的线性模型。
选择n重要的预测因子(
),采用群正交匹配追踪(OMP)算法[2][3],在那里n是numImportantPredictors
价值。该算法使用合成预测数据集(X年代),预测(Y年代)和权重值(w问).
拟合所选重要预测值的线性模型(
)的预测(Y年代),使用权重值(w问).软件使用菲特利恩
回归或fitclinear
的分类。对于多类模型,该软件使用一对所有的方案来构造一个二元分类问题。类的正向类是查询点的预测类黑匣子
模型和负类指的是其他类。
如果“SimpleModelType”
是“树”
,然后利用该软件拟合出决策树模型fitrtree
回归或fitctree
的分类。该软件指定决策分裂(或分支节点)的最大数量作为重要预测器的数量,以便拟合的决策树最多使用指定数量的预测器。
[1] Ribeiro, Marco Tulio, S. Singh, C. Guestrin。“‘我为什么要相信你?’:解释任何分类器的预测。”第22届ACM SIGKDD国际知识发现与数据挖掘会议论文集,1135 - 44。旧金山,加利福尼亚:ACM,2016。
[2] Świrszcz, Grzegorz, Naoki Abe, Aurélie C. Lozano。“变量选择和预测的分组正交匹配追踪”在神经信息处理系统的进步(2009): 1150–58.
[3] Lozano Aurélie C., Grzegorz Świrszcz,和Naoki Abe。逻辑回归的组正交匹配追踪。第十四届国际人工智能和统计会议论文集(2011): 452 - 60。
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。