石灰
本地可model-agnostic解释(石灰)
描述
石灰解释了机器学习的预测模型(分类或回归)查询点通过寻找重要预测因子,要安装一个简单的解释模型。
您可以创建一个石灰
对机器学习模型对象与指定查询点(queryPoint
)和指定数量的重要预测因子(numImportantPredictors
)。软件生成一个合成数据集,并符合一个简单的可翻译的重要预测因子,有效地解释了预测模型合成数据的查询。简单的模型可以是线性模型(默认)或决策树模型。
使用安装简单的模型来解释在本地机器学习模型的预测,在指定的查询。使用情节
函数可视化石灰的结果。基于当地的解释,你可以决定是否信任机器学习模型。
适应一个新的简单的模型通过使用另一个查询点适合
函数。
创建
语法
描述
创建一个结果
=石灰(黑箱
“CustomSyntheticData”,customSyntheticData
)石灰
对象使用pregenerated,定制合成预测数据集customSyntheticData
。的石灰
计算样本的预测函数customSyntheticData
。
还发现指定数量的重要预测因子,适合简单线性模型查询点结果
=石灰(___“QueryPoint”,queryPoint
“NumImportantPredictors”,numImportantPredictors
)queryPoint
。您可以指定queryPoint
和numImportantPredictors
除了任何输入参数组合在前面的语法。
输入参数
黑箱
- - - - - -机器学习模型来解释
回归模型对象|分类模型对象|函数处理
机器学习模型来解释,指定为一个完整紧凑的回归或分类模型对象或一个函数处理。
全部或紧凑的模型对象,您可以指定一个完整紧凑的回归或分类模型对象,一个
预测
对象的功能。软件使用预测
函数来计算查询点的预测和综合预测数据集。如果您指定一个不包含预测数据的模型对象(例如,一个紧凑的模型),然后你必须提供预测数据使用
X
或customSyntheticData
。石灰
不支持一个模型对象训练的稀疏矩阵。当你训练模型,使用一个完整的数字矩阵的预测数据或表行对应于观测。
回归模型对象
支持模型 全部或紧凑的回归模型对象 整体的回归模型 RegressionEnsemble
,RegressionBaggedEnsemble
,CompactRegressionEnsemble
高斯核函数回归模型使用随机特性的扩张 RegressionKernel
高斯过程回归 RegressionGP
,CompactRegressionGP
广义加性模型 RegressionGAM
,CompactRegressionGAM
对高维数据线性回归 RegressionLinear
神经网络回归模型 RegressionNeuralNetwork
,CompactRegressionNeuralNetwork
回归树 RegressionTree
,CompactRegressionTree
支持向量机回归 RegressionSVM
,CompactRegressionSVM
分类模型对象
支持模型 全部或紧凑的分类模型对象 二叉决策树的多类分类 ClassificationTree
,CompactClassificationTree
判别分析分类器 ClassificationDiscriminant
,CompactClassificationDiscriminant
系综分类的学习者 ClassificationEnsemble
,CompactClassificationEnsemble
,ClassificationBaggedEnsemble
高斯核函数分类模型使用随机特性的扩张 ClassificationKernel
广义加性模型 ClassificationGAM
,CompactClassificationGAM
k最近的邻居模型 ClassificationKNN
线性分类模型 ClassificationLinear
多类支持向量机模型或其他分类器 ClassificationECOC
,CompactClassificationECOC
朴素贝叶斯模型 ClassificationNaiveBayes
,CompactClassificationNaiveBayes
神经网络分类器 ClassificationNeuralNetwork
,CompactClassificationNeuralNetwork
支持向量机的二叉分类 ClassificationSVM
,CompactClassificationSVM
函数处理,您可以指定一个函数处理接受预测数据和返回一个列向量,其中包含预测中的每个观测数据的预测。回归的预测是预测响应或分类的分类标签。您必须提供预测数据使用
X
或customSyntheticData
并指定“类型”
名称-值参数。
X
- - - - - -预测数据
数字矩阵|表
预测数据,指定为一个数字矩阵或表。每一行的X
对应于一个观察,每一列对应一个变量。
X
必须符合的预测数据训练吗黑箱
,存储在blackbox.X
。指定的值必须不包含一个响应变量。
X
必须具有相同的数据类型作为预测变量(例如,trainX
),训练黑箱
。的变量的列X
必须有相同的号码和订单trainX
。如果你训练
黑箱
使用一个数字矩阵,然后X
必须是一个数字矩阵。如果你训练
黑箱
使用一个表,那么X
必须是一个表。所有的预测变量X
必须有相同的变量名和数据类型trainX
。
石灰
不支持一个稀疏矩阵。
如果黑箱
是一个模型对象,不包含预测数据或一个函数处理,您必须提供吗X
或customSyntheticData
。如果黑箱
是一个完整的机器学习模型对象,你指定这个参数,然后呢石灰
不使用预测数据黑箱
。只使用指定的预测数据。
数据类型:单
|双
|表
customSyntheticData
- - - - - -Pregenerated、定制合成预测数据集
[]
(默认)|数字矩阵|表
Pregenerated、定制合成预测数据集,指定为一个数字矩阵或表。
如果你提供一个pregenerated数据集石灰
使用提供的数据集,而不是生成一个新的合成预测数据集。
customSyntheticData
必须符合的预测数据训练吗黑箱
,存储在blackbox.X
。指定的值必须不包含一个响应变量。
customSyntheticData
必须具有相同的数据类型作为预测变量(例如,trainX
),训练黑箱
。的变量的列customSyntheticData
必须有相同的号码和订单trainX
如果你训练
黑箱
使用一个数字矩阵,然后customSyntheticData
必须是一个数字矩阵。如果你训练
黑箱
使用一个表,那么customSyntheticData
必须是一个表。所有的预测变量customSyntheticData
必须有相同的变量名和数据类型trainX
。
石灰
不支持一个稀疏矩阵。
如果黑箱
是一个模型对象,不包含预测数据或一个函数处理,您必须提供吗X
或customSyntheticData
。如果黑箱
是一个完整的机器学习模型对象,你指定这个参数,然后呢石灰
不使用预测数据黑箱
;只使用指定的预测数据。
数据类型:单
|双
|表
queryPoint
- - - - - -查询点
行向量的数值|单列表
查询点石灰
解释了一个预测,指定为一个行向量的数值或单列表。queryPoint
必须具有相同的数据类型和数量的列X
,customSyntheticData
或预测数据黑箱
。
如果您指定numImportantPredictors
和queryPoint
,那么石灰
当创建一个函数满足一个简单的模型石灰
对象。
queryPoint
不能包含缺失值。
例子::blackbox.X (1)
指定查询点作为第一次观察到完整的预测数据的机器学习模型黑箱
。
数据类型:单
|双
|表
numImportantPredictors
- - - - - -许多重要的预测中使用简单的模型
正整数标量值
许多重要的预测使用的简单模型,指定为一个正整数标量值。
如果
“SimpleModelType”
是“线性”
(默认),然后软件选择指定数量的重要预测因素,符合线性模型选择的预测。如果
“SimpleModelType”
是“树”
,那么软件指定的最大数量决定分裂(或分支节点)作为许多重要的决策树预测,以便安装使用最多指定数量的预测。
如果您指定numImportantPredictors
和queryPoint
,那么石灰
当创建一个函数满足一个简单的模型石灰
对象。
数据类型:单
|双
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:
指定查询点石灰
(黑箱
,“QueryPoint”
问,“NumImportantPredictors”
n“SimpleModelType”,“树”)问
的重要预测因子用于简单的模型n
,和简单的模型的类型作为一个决策树模型。石灰
生成样本的综合预测的数据集,计算样本的预测,适合使用决策树模式查询点最多指定数量的预测。
DataLocality
- - - - - -当地的合成数据生成的数据
“全球”
(默认)|“本地”
位置的数据生成的合成数据,指定为逗号分隔组成的“DataLocality”
和“全球”
或“本地”
。
“全球”
——软件估计分布参数使用整个预测数据集(X
或预测数据黑箱
)。软件生成一个综合预测与估计的参数和使用数据集的数据集的任何查询点简单的模型拟合。“本地”
——软件估计分布参数使用k查询点最近的邻居,k是“NumNeighbors”
价值。软件生成一个新的合成预测数据集每一次它适合一个简单的模型指定查询点。
更多细节,请参阅石灰。
例子:“DataLocality”,“当地”
数据类型:字符
|字符串
NumNeighbors
- - - - - -邻居查询点的数量
1500年(默认)|正整数标量值
的邻居查询点,指定为逗号分隔组成的“NumNeighbors”
和一个正整数标量值。这个论点是有效的只有当“DataLocality”
是“本地”
。
如果你指定一个值大于观测的数量预测数据集(X
或预测数据黑箱
),然后石灰
使用所有的观察。
例子:“NumNeighbors”, 2000年
数据类型:单
|双
NumSyntheticData
- - - - - -数量的样本来生成合成数据集
5000年(默认)|正整数标量值
样本数为合成数据集,生成指定为逗号分隔组成的“NumSyntheticData”
和一个正整数标量值。
例子:“NumSyntheticData”, 2500年
数据类型:单
|双
KernelWidth
- - - - - -内核宽度
0.75(默认)|数字标量值
内核的宽度平方指数(或高斯核函数),指定为逗号分隔组成的“KernelWidth”
和数字标量值。
的石灰
函数计算之间的距离查询点和综合预测的样本数据集,然后将距离权重采用平方指数核函数。如果你降低“KernelWidth”
值,然后石灰
使用重量,更关注查询附近的样本点。有关详细信息,请参见石灰。
例子:“KernelWidth”, 0.5
数据类型:单
|双
SimpleModelType
- - - - - -类型的简单的模型
“线性”
(默认)|“树”
类型的简单模型,指定为逗号分隔组成的“SimpleModelType”
和“线性”
或“树”
。
“线性”
——软件符合线性模型通过使用fitrlinear
回归或fitclinear
的分类。
例子:“SimpleModelType”、“树”
数据类型:字符
|字符串
CategoricalPredictors
- - - - - -分类预测列表
向量的正整数|逻辑向量|字符矩阵|字符串数组|单元阵列的特征向量|“所有”
分类预测列表,指定为逗号分隔组成的“CategoricalPredictors”
在这个表的一个值。
价值 | 描述 |
---|---|
向量的正整数 | 向量中的每个条目是一个索引值表明相应的预测分类。索引值介于1和 如果 |
逻辑向量 | 一个 |
字符矩阵 | 矩阵的每一行是一个预测变量的名字。名称必须匹配的变量名的形式表预测数据。垫的名字与额外的空格字符矩阵的每一行有相同的长度。 |
字符串数组或单元阵列的特征向量 | 数组中的每个元素是一个预测变量的名字。名称必须匹配的变量名的形式表预测数据。 |
“所有” |
所有预测都直言。 |
如果您指定
黑箱
作为处理函数石灰
识别分类预测的预测数据X
或customSyntheticData
。如果预测的数据表中,石灰
假设变量是直言如果它是一个逻辑向量,无序分类向量,字符数组,字符串数组或单元阵列特征向量。如果预测数据是一个矩阵,石灰
假设所有的预测都是连续的。如果您指定
黑箱
作为回归或分类模型对象石灰
通过使用的标识分类预测CategoricalPredictors
模型对象的属性。
石灰
不支持有序分类预测。
例子:“CategoricalPredictors”、“所有”
数据类型:单
|双
|逻辑
|字符
|字符串
|细胞
类型
- - - - - -类型的机器学习模型
的回归
|“分类”
机器学习模型的类型,指定为逗号分隔组成的“类型”
和的回归
或“分类”
。
你必须指定这个参数时指定黑箱
作为处理函数。如果您指定黑箱
作为回归或分类模型对象石灰
决定了“类型”
根据模型类型的值。
例子:“类型”、“分类”
数据类型:字符
|字符串
距离
- - - - - -距离度量
特征向量|字符串标量|函数处理
距离度量,指定为逗号分隔组成的“距离”
和一个特征向量,字符串标量,或函数句柄。
如果预测数据只包含连续变量,然后
石灰
支持这些距离度量。价值 描述 “欧几里得”
欧氏距离。
“seuclidean”
标准化的欧氏距离。每个坐标差异观察是通过除以相应的扩展元素的标准差,
S =性病(PD omitnan)
,在那里PD
是预测数据或合成预测数据。要指定不同的扩展,可以使用“规模”
名称-值参数。“mahalanobis”
而使用的样本协方差距离
PD
,C = x (PD omitrows)
。改变协方差矩阵的值,使用“浸”
名称-值参数。“cityblock”
城市街区的距离。
闵可夫斯基的
闵可夫斯基距离。默认的指数是2。指定一个不同的指数,使用
“P”
名称-值参数。“chebychev”
Chebychev距离(最大坐标差异)。
的余弦
1 -之间的夹角的余弦值点(视为向量)。
“相关”
1 -样本点之间的相关性(作为序列的值)。
“枪兵”
1 -样本之间的斯皮尔曼等级相关的观察(作为序列的值)。
@
distfun
自定义距离函数处理。距离函数的形式
函数ZJ D2 = distfun(子)%计算距离…
子
是一个1
——- - - - - -t
向量包含一个观察。ZJ
是一个年代
——- - - - - -t
包含多个观测矩阵。distfun
必须接受一个矩阵ZJ
与任意数量的观察。D2
是一个年代
——- - - - - -1
距离向量,D2 (k)
是观察之间的距离子
和ZJ (k,:)
。
如果你的数据不是稀疏的,你可以通过使用一个内置的通常更快的计算距离的距离度量,而不是一个函数处理。
如果预测数据包括连续和分类变量
石灰
支持这些距离度量。价值 描述 “goodall3”
修改古德距离
海底钻井的
发生频率的距离
定义,请参阅距离度量。
默认值是“欧几里得”
如果只包含连续变量的预测数据,或“goodall3”
如果预测数据包括连续和分类变量。
例子:“距离”、“海底钻井的
数据类型:字符
|字符串
|function_handle
浸
- - - - - -协方差矩阵的距离度量
正定矩阵
协方差矩阵的Mahalanobis距离度量,指定为逗号分隔组成的“浸”
和一个K——- - - - - -K正定矩阵,K预测的数量。
这个论点是有效的前提“距离”
是“mahalanobis”
。
默认的“浸”
值是浸(PD omitrows)
,在那里PD
是预测数据或合成预测数据。如果你不指定“浸”
值,那么软件时使用不同的协方差矩阵计算距离的预测数据和合成预测数据。
例子:“浸”,眼睛(3)
数据类型:单
|双
P
- - - - - -闵可夫斯基距离度量的指数
2
(默认)|积极的标量
规模
- - - - - -标准化的欧氏距离度量尺度参数值
非负数字矢量
标准化的欧氏距离度量,尺度参数值指定为逗号分隔组成的“规模”
和一个非负数字向量的长度K,在那里K预测的数量。
这个论点是有效的前提“距离”
是“seuclidean”
。
默认的“规模”
值是性病(PD omitnan)
,在那里PD
是预测数据或合成预测数据。如果你不指定“规模”
值,然后使用不同的软件规模参数计算距离时的预测数据和合成预测数据。
例子:“规模”,分位数(0.75 X)——分位数(0.25 X))
数据类型:单
|双
属性
指定的属性
当创建一个您可以指定以下属性石灰
对象。
BlackboxModel
- - - - - -机器学习模型来解释
回归模型对象|分类模型对象|函数处理
CategoricalPredictors
- - - - - -分类预测指标
向量的正整数|[]
这个属性是只读的。
分类预测指标,指定为一个向量的正整数。CategoricalPredictors
包含索引值表明相应的预测分类。索引值介于1和p
,在那里p
预测的数量被用来训练模型。如果所有的预测都直言,那么这个属性是空的([]
)。
如果您指定
黑箱
使用一个函数处理石灰
识别分类预测的预测数据X
或customSyntheticData
。如果你指定“CategoricalPredictors”
名称-值参数,参数设置这个属性。如果您指定
黑箱
作为回归或分类模型对象石灰
决定使用这个属性CategoricalPredictors
模型对象的属性。
石灰
不支持有序分类预测。
如果“SimpleModelType”
是“线性”
(默认)石灰
为每个标识创建虚变量分类预测。石灰
将指定的类别查询点作为参考集团和哑变量创建一个低于类别的数量。更多细节,请参阅哑变量与参照组。
数据类型:单
|双
DataLocality
- - - - - -当地的合成数据生成的数据
“全球”
|“本地”
NumImportantPredictors
- - - - - -许多重要的预测中使用简单的模型
正整数标量值
这个属性是只读的。
许多重要的预测使用简单的模型(SimpleModel
),指定为一个正整数标量值。
的numImportantPredictors
的观点石灰
或者是numImportantPredictors
的观点适合
设置此属性。
数据类型:单
|双
NumSyntheticData
- - - - - -合成数据集的样本数量
正整数标量值
这个属性是只读的。
合成数据集的样本数量,指定为一个正整数标量值。
如果您指定
customSyntheticData
,然后在自定义合成样品的数量数据集设置这个属性。否则,
“NumSyntheticData”
名称-值参数石灰
或者是“NumSyntheticData”
名称-值参数适合
设置此属性。
数据类型:单
|双
QueryPoint
- - - - - -查询点
行向量的数值|单列表
这个属性是只读的。
查询点石灰
使用简单的模型解释了一个预测(SimpleModel
),指定为一个行向量的数值或单列表。
的queryPoint
的观点石灰
或者是queryPoint
的观点适合
设置此属性。
数据类型:单
|双
|表
类型
- - - - - -类型的机器学习模型
的回归
|“分类”
这个属性是只读的。
类型的机器学习模型(BlackboxModel
),指定为的回归
或“分类”
。
X
- - - - - -预测数据
数字矩阵|表
这个属性是只读的。
预测数据,指定为一个数字矩阵或表。
每一行的X
对应于一个观察,每一列对应一个变量。
如果你指定
X
参数,参数设置这个属性。如果你指定
customSyntheticData
参数,那么这个属性是空的。如果您指定
黑箱
作为一个完整的机器学习模型对象并没有指定X
或customSyntheticData
,那么这个属性值预测数据用于训练黑箱
。
石灰
不使用含有缺失值的行,不存储行吗X
。
数据类型:单
|双
|表
计算属性
软件计算以下属性。
BlackboxFitted
- - - - - -预测查询点计算机器学习模型
标量
安装
- - - - - -预测合成预测计算的数据机器学习模型
向量
ImportantPredictors
- - - - - -重要的预测指标
向量的正整数
SimpleModel
- - - - - -简单的模型
RegressionLinear
模型对象|RegressionTree
模型对象|ClassificationLinear
模型对象|ClassificationTree
模型对象
这个属性是只读的。
简单的模型,指定为一个RegressionLinear
,RegressionTree
,ClassificationLinear
,或ClassificationTree
模型对象。石灰
决定了简单的模型对象的类型取决于类型的机器学习模型(类型
)和简单的模型的类型(“SimpleModelType”
)。
SimpleModelFitted
- - - - - -计算简单的模型预测查询点
标量
这个属性是只读的。
预测查询点计算的简单的模型(SimpleModel
),指定为一个标量。
如果SimpleModel
是ClassificationLinear
,那么SimpleModelFitted
值为1或1。
的
SimpleModelFitted
值为1,如果预测的简单的模型是一样的BlackboxFitted
(从机器学习模型预测)。的
SimpleModelFitted
值为1,如果预测从简单的模型是不同的BlackboxFitted
。如果BlackboxFitted
值是一个
,那么情节
功能显示SimpleModelFitted
值作为不是一个
。
数据类型:单
|双
|分类
|逻辑
|字符
|字符串
|细胞
SyntheticData
- - - - - -合成预测数据
数字矩阵|表
这个属性是只读的。
合成预测数据,指定为一个数字矩阵或表。
如果你指定
customSyntheticData
输入参数,参数设置这个属性。否则,
石灰
估计分布参数的预测数据X
并生成一个合成预测数据集。
数据类型:单
|双
|表
例子
简单解释预测与决策树模型
训练一个分类模型,并创建一个石灰
简单对象,使用决策树模型。当您创建一个石灰
查询对象,指定一个点和一些重要的预测,以便软件生成样本的合成数据集和一个简单的模型查询点符合重要的预测因子。然后显示估计预测重要性的简单的模型通过使用目标函数情节
。
加载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 =“没有”;
查询的情节显示两个预测点,对应BlackboxFitted财产和SimpleModelFitted的属性结果
。
重要性水平条形图显示了分类预测的值。石灰
发现财务比率变量MVE_BVTD
和RE_TA
查询点的重要预测因子。
你可以阅读酒吧使用数据提示或长度栏属性。例如,您可以找到酒吧
通过使用对象findobj
功能和添加标签的结束酒吧使用文本
函数。
b = findobj (f,“类型”,“酒吧”);文本(b.YEndPoints + 0.001, b.XEndPoints字符串(b.YData))
或者,您可以显示表中的系数值与预测变量的名字。
小鬼= 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 =“没有”;
查询的情节显示两个预测点,对应BlackboxFitted财产和SimpleModelFitted的属性结果
。
水平条形图显示了简单的模型的系数值,按他们的绝对值。石灰发现马力
,Model_Year
,气缸
查询点的重要预测因子。
Model_Year
和气缸
是有多个类别的分类预测。线性的简单模型,软件创建一个哑变量小于的数量为每个分类预测类别。条形图只显示最重要的哑变量。你可以检查其他的系数使用虚拟变量SimpleModel
的属性结果
。显示分类系数值,包括所有分类虚拟变量。
[~,我]=排序(abs (results.SimpleModel.Beta),“下”);表(results.SimpleModel.ExpandedPredictorNames (I)”, results.SimpleModel.Beta(我),…“VariableNames”,{“Exteded预测的名字”,“系数”})
ans =17×2表Exteded预测名字系数__________________________ ___________ e-05 -3.4485{“马力”}{“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和8)}1.7461 e-07 {“Model_Year(71和70)的}1.558 e-07 {“Model_Year(75和70)的}1.5456 e-07 {“Model_Year(77和70)的}1.521 e-07 {“Model_Year(78和70)的}1.4272 e-07 {“Model_Year(72和70)的}6.7001 e-08 {“Model_Year(73和70)的}4.7214 e-08{的气缸(4和8)}4.5118 e-08 {“Model_Year(79和70)的}-2.2598 e-08⋮
指定黑箱模型函数处理
训练一个回归模型,并创建一个石灰
使用一个函数处理的对象预测
的函数模型。使用目标函数适合
适合一个简单的模型指定查询点。然后显示拟合线性系数的简单模型通过使用目标函数情节
。
加载carbig
的数据集,其中包含测量汽车在1970年代末和1980年代初。
负载carbig
创建一个表包含预测变量加速度
,气缸
,等等。
台=表(加速度、汽缸、排量、马力、Model_Year重量);
火车的黑箱模型英里/加仑
通过使用TreeBagger
函数。
rng (“默认”)%的再现性Mdl = TreeBagger(100台,英里/加仑,“方法”,“回归”,“CategoricalPredictors”[2 - 5]);
石灰
不支持TreeBagger
直接对象,所以你不能指定第一个输入参数(黑箱模型)石灰
作为一个TreeBagger
对象。相反,您可以使用一个函数句柄预测
函数。您还可以指定选项的预测
函数使用名称-值参数的函数。
创建函数句柄预测
的函数TreeBagger
对象Mdl
。指定要使用的树索引数组1:50
。
myPredict = @(台)预测(Mdl、台、“树”、1:50);
创建一个石灰
对象使用函数处理myPredict
。当你指定一个黑箱模型作为处理函数,必须提供预测数据和指定“类型”
名称-值参数。资源描述
包括分类预测(油缸
和Model_Year
)双
数据类型。默认情况下,石灰
没有对变量双
数据类型分类预测。指定第二个(油缸
)、五(Model_Year
)作为分类预测变量。
结果=石灰(myPredict、台、“类型”,“回归”,“CategoricalPredictors”[2 - 5]);
适合第一次观察到的简单线性模型资源描述
。显示现有的强调在任何预测的名字,改变TickLabelInterpreter
轴的价值“没有”
。
结果=适合(结果,台(1:),4);f =情节(结果);f.CurrentAxes。TickLabelInterpreter =“没有”;
石灰
发现马力
,位移
,气缸
,Model_Year
作为重要的预测因子。
更多关于
距离度量
距离度量是一个函数,定义了两个观测之间的距离。石灰
支持各种连续变量和连续的距离度量和分类变量。
距离度量连续变量
给定一个mx——- - - - - -n数据矩阵X,这被视为mx(1 -n)行向量x1,x2、……xmx和一个我的——- - - - - -n数据矩阵Y,这被视为我的(1 -n)行向量y1,y2、……y我的,各种向量之间的距离x年代和yt定义如下:
欧氏距离
的欧几里得距离是一个特例闵可夫斯基距离,p= 2。
标准化的欧几里得距离
在哪里V是n——- - - - - -n对角矩阵的jth对角线元素是(年代(j))2,在那里年代是一个向量的每个维度的比例因素。
Mahalanobis距离
在哪里C协方差矩阵。
城市街区的距离
城市街区的距离是一个特例的闵可夫斯基距离,p= 1。
闵可夫斯基距离
的特殊情况p= 1闵可夫斯基距离给出了城市街区距离。的特殊情况p= 2闵可夫斯基距离给出了欧氏距离。的特殊情况p=∞闵可夫斯基距离给Chebychev距离。
Chebychev距离
距离Chebychev闵可夫斯基距离是一个特例,在哪里p=∞。
余弦距离
相关距离
在哪里
和
斯皮尔曼的距离
在哪里
距离度量的连续和分类变量
修改古德距离
这个距离是古德距离的一种变体,分配一个小的距离如果匹配值是罕见的,不管其他的频率值。不匹配,距离预测的贡献是1 /(变量)的数量。
发生频率的距离
匹配,出现频率分配零距离的距离。不匹配,出现频率距离分配更高的距离不那么频繁的价值和更低的距离更频繁的价值。
算法
石灰
解释使用石灰机器学习模型的预测[1],软件生成一个合成数据集和一个简单的可说明的模型合成数据集使用石灰
和适合
,如步骤1 - 5所示。
如果你指定
queryPoint
和numImportantPredictors
的值石灰
,那么石灰
函数执行的所有步骤。如果你不指定
queryPoint
和numImportantPredictors
并指定“DataLocality”
作为“全球”
(默认),那么石灰
函数生成一个合成数据集(步骤1 - 2),和适合
函数与一个简单的模型(步骤3 - 5)。如果你不指定
queryPoint
和numImportantPredictors
并指定“DataLocality”
作为“本地”
,那么适合
函数执行的所有步骤。
的石灰
和适合
函数执行这些步骤:
生成一个合成预测数据集X年代使用多元正态分布的连续变量和每个类别变量的多项式分布。您可以指定由使用生成的样本的数量
“NumSyntheticData”
名称-值参数。如果
“DataLocality”
是“全球”
(默认),然后从整个软件估计分布参数预测数据集(X
或预测数据黑箱
)。如果
“DataLocality”
是“本地”
,那么软件估计分布参数使用k最近邻居查询的点,在那里k是“NumNeighbors”
价值。您可以指定一个距离度量找到最近的邻居使用“距离”
名称-值参数。
软件忽略缺失值的预测数据集时估计分布参数。
或者,您可以提供一个pregenerated、定制合成预测数据集使用
customSyntheticData
输入参数的石灰
。计算预测Y年代合成数据集X年代。回归的预测是预测反应或分类标签分类。软件使用
预测
的函数黑箱
模型计算预测。如果您指定黑箱
作为处理函数,利用函数处理软件计算预测。计算距离d查询点和样品之间的综合预测数据集使用指定的距离度量
“距离”
。计算权重值w问合成样品的预测数据集的查询问利用平方指数(或高斯核函数)
x年代在合成预测数据集是一个样本X年代。
d(x年代,问)样本之间的距离吗x年代和查询点问。
p预测的数量吗X年代。
σ是内核宽度,您可以指定使用哪一个
“KernelWidth”
名称-值参数。默认的“KernelWidth”
值是0.75。
查询点的权重值是1,然后收敛于零的距离值增加。的
“KernelWidth”
值控制体重的速度值收敛于零。越低“KernelWidth”
价值,越快重量值收敛于零。因此,该算法给查询附近的样本点更多的重量。由于该算法使用这样的重量值,选择重要的预测和安装简单的模型有效地解释本地合成数据的预测,在查询点。一个简单的模型。
如果
“SimpleModelType”
是“线性”
(默认),则软件选择的重要预测因子和符合线性模型选择的重要预测因子。选择n重要的预测因子( )通过使用组正交匹配追踪(OMP)算法[2][3],在那里n是
numImportantPredictors
价值。该算法使用合成预测数据集(X年代)、预测(Y年代),和重量值(w问)。符合线性模型选择的重要预测因子( )到预测(Y年代使用重量值()w问)。软件使用
fitrlinear
回归或fitclinear
的分类。多级模型,软件使用one-versus-all方案来构造一个二元分类问题。查询的积极类是预测类的黑箱
模型和负类指的是其他类。
如果
“SimpleModelType”
是“树”
,那么软件适合使用决策树模型fitrtree
回归或fitctree
的分类。软件指定的最大数量决定分裂(或分支节点)作为许多重要的决策树预测,以便安装使用最多指定数量的预测。
引用
[1]里贝罗,马可杜立欧,辛格(manmohan Singh)和c . Guestrin。“我为什么要相信你?:解释任何分类器的预测。”22日ACM SIGKDD国际研讨会论文集知识发现和数据挖掘,1135 - 44。旧金山,加利福尼亚州:ACM, 2016。
[2]Świrszcz、Grzegorz Naoki安倍,Aurelie Lozano。“分组变量选择的正交匹配追踪和预测。”先进的神经信息处理系统(2009):1150 - 58。
[3]Lozano, Aurelie C。,Grzegorz Świrszcz, and Naoki Abe. "Group Orthogonal Matching Pursuit for Logistic Regression."《第十四人工智能国际会议上和统计(2011):452 - 60。
版本历史
介绍了R2020b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。