主要内容

templateKNN

k-最近邻分类器模板

描述

例子

t= templateKNN ()返回一个k-最近邻(KNN)学习器模板,适用于训练集合或纠错输出码(ECOC)多类模型。

如果指定默认模板,则软件在训练期间对所有输入参数使用默认值。

指定t作为一名fitcensemblefitcecoc

例子

t= templateKNN (名称,值使用由一个或多个名称-值对参数指定的附加选项创建模板。

例如,可以指定最近邻居搜索方法、要查找的最近邻居的数量或距离度量。

如果你显示t,则所有选项显示为空([]),但使用名称-值对参数指定的除外。在培训期间,软件对空选项使用默认值。

例子

全部折叠

创建一个默认的k-最近的邻居模板使用fitcensemble

载入费雪的虹膜数据集。

负载fisheriris

为5个最近邻搜索创建一个模板,并指定标准化预测器。

t = templateKNN (“NumNeighbors”,5,“标准化”, 1)
t =适合分类KNN的模板。NumNeighbors: 5 NSMethod: " Distance: " BucketSize: " IncludeTies: [] DistanceWeight: [] BreakTies: [] Exponent: [] Cov: [] Scale: [] standarzedata: 1 Version: 1 Method: 'KNN' Type: 'classification'

模板对象的所有属性都为空,除了NumNeighbors方法StandardizeData,类型.当你指定t作为初学者,软件用它们各自的默认值填充空属性。

指定t作为分类集成的弱学习器。

Mdl = fitcensemble(量、种类、“方法”“子”“学习者”t);

显示样本内(再替换)误分类错误。

L = resubLoss (Mdl)
L = 0.0600

创建一个默认的k-最近的邻居模板使用fitcecoc

载入费雪的虹膜数据集。

负载fisheriris

为5个最近邻搜索创建一个模板,并指定标准化预测器。

t = templateKNN (“NumNeighbors”,5,“标准化”, 1)
t =适合分类KNN的模板。NumNeighbors: 5 NSMethod: " Distance: " BucketSize: " IncludeTies: [] DistanceWeight: [] BreakTies: [] Exponent: [] Cov: [] Scale: [] standarzedata: 1 Version: 1 Method: 'KNN' Type: 'classification'

模板对象的所有属性都为空,除了NumNeighbors方法StandardizeData,类型.当你指定t作为初学者,软件用它们各自的默认值填充空属性。

指定t作为ECOC多类模型的二元学习者。

Mdl = fitcecoc(量、种类、“学习者”t);

默认情况下,软件会进行训练Mdl使用一对一编码设计。

显示样本内(再替换)误分类错误。

L = resubLoss (Mdl,“LossFun”“classiferror”
L = 0.0467

输入参数

全部折叠

名称-值对的观点

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

例子:“NumNeighbors”4“距离”,“闵可夫斯基”使用Minkowski距离度量指定4个最近邻分类器模板。

决胜算法所使用的预测如果多个类具有相同的最小开销,则指定为逗号分隔的对“BreakTies”以及以下其中之一:

  • “最小”—在绑定组之间使用最小的索引。

  • “最近的”—在绑定组中使用最近邻居的类。

  • “随机”-在平局组中使用随机的平局决胜局。

在默认情况下,当多个类之间有相同数量的最近点时,就会发生平局K最近的邻居。

例子:“BreakTies”,“最近”

的叶节点中的最大数据点数kD-tree,指定为逗号分隔的对,由“BucketSize”和一个正整数。这个参数只有在NSMethod“kdtree”

例子:“BucketSize”,40岁

数据类型:|

协方差矩阵,指定为逗号分隔对,由“浸”以及计算马氏距离时表示协方差矩阵的标量值的正定矩阵。此参数仅在以下情况下有效“距离”“mahalanobis”

你不能同时指定“标准化”的,要么“规模”“浸”

数据类型:|

距离度量,指定为逗号分隔对,由“距离”和一个有效的距离度量名称或函数句柄。允许的距离度量名称取决于你选择的邻居搜索方法(见NSMethod).

NSMethod 距离指标名称
详尽的 任意距离度量ExhaustiveSearcher
kdtree “cityblock”“chebychev”“欧几里得”,或闵可夫斯基的

此表包括的有效距离度量ExhaustiveSearcher

距离指标名称 描述
“cityblock” 城市街区的距离。
“chebychev” 切比切夫距离(最大坐标差)。
“相关” 一减去观察值之间的样本线性相关性(作为值的序列处理)。
的余弦 1减去观测值之间夹角的余弦值(作为向量处理)。
“欧几里得” 欧氏距离。
“汉明” 汉明距离,坐标差的百分比。
“jaccard” 1减去雅卡尔系数,非零坐标差的百分比。
“mahalanobis” 马氏距离,用正定协方差矩阵计算C.的默认值C样本协方差矩阵是X,由X (X, omitrows).指定一个不同的值C,可以使用“浸”名称-值对的论点。
闵可夫斯基的 闵可夫斯基距离。默认指数为2.要指定不同的指数,请使用“指数”名称-值对的论点。
“seuclidean” 标准化的欧氏距离。每个坐标差X查询点被缩放,也就是除以一个缩放值年代.的默认值年代标准偏差是从XS =性病(X, omitnan).为指定另一个值年代,可以使用规模名称-值对的论点。
“枪兵” 1减去观察值之间的样本斯皮尔曼等级相关性(作为值的序列处理)。
distfun

距离函数处理。distfun的形式

函数ZJ D2 = distfun(子)距离计算%...
在哪里

  • 是一个1——- - - - - -N包含一行的向量XY

  • ZJ是一个平方米——- - - - - -N的多行矩阵XY

  • D2是一个平方米——- - - - - -1距离向量D2 (k)观察距离是多少ZJ (k,:)

如果您指定CategoricalPredictors作为“所有”,则默认距离度量为“汉明”.否则,默认距离度量为“欧几里得”

定义,请参阅距离度量

例子:“距离”,“闵可夫斯基”

数据类型:字符|字符串|function_handle

距离加权函数,指定为逗号分隔对组成“DistanceWeight”或者是函数句柄,或者是表中的一个值。

价值 描述
“平等” 没有权重
“逆” 重量是1 /距离
“squaredinverse” 重量是1 /距离2
fcn fcn是一个函数,它接受非负距离的矩阵,并返回包含非负距离权值的相同大小的矩阵。例如,“squaredinverse”相当于@ (d) d。^ (2)

例子:“DistanceWeight”、“逆”

数据类型:字符|字符串|function_handle

闵可夫斯基距离指数,指定为逗号分隔对,由“指数”和一个正标量值。此参数仅在以下情况下有效“距离”闵可夫斯基的

例子:“指数”,3

数据类型:|

连接包含标志,指定为由逗号分隔的对组成“IncludeTies”以及指示是否预测包括距离值等于的所有邻居K最小距离。如果IncludeTies真正的预测包括所有这些邻居。否则,预测使用完全K邻居。

例子:“IncludeTies”,真的

数据类型:逻辑

最近邻搜索方法,指定为逗号分隔对组成“NSMethod”“kdtree”“详尽”

  • “kdtree”-创建和使用kd树来寻找最近的邻居。“kdtree”当距离度量为以下情况之一时,为有效:

    • “欧几里得”

    • “cityblock”

    • 闵可夫斯基的

    • “chebychev”

  • “详尽”—采用穷举搜索算法。当预测一个新点的等级时xnew,软件计算所有点的距离值Xxnew寻找最近的邻居。

默认值是“kdtree”X10或更少的列,X是不是稀疏还是一种gpuArray,距离度规是a“kdtree”类型;否则,“详尽”

例子:“NSMethod”、“详尽”

最近的邻居的数量X要查找以便在预测时对每个点进行分类,指定为逗号分隔对,由“NumNeighbors”和一个正整数。

例子:“NumNeighbors”,3

数据类型:|

距离比例尺,指定为逗号分隔对,由“规模”以及包含非负标量值的向量,其长度等于列数X.每个坐标差X而一个查询点是由对应的元素缩放的规模.此参数仅在以下情况下有效“距离”“seuclidean”

你不能同时指定“标准化”的,要么“规模”“浸”

数据类型:|

标记来标准化预测器,指定为逗号分隔对,由“标准化”真正的1)或(0)

如果你设置“标准化”,真的,然后软件中心和缩放预测数据的每一列(X)的列均值和标准偏差。

该软件没有标准化分类预测器,如果所有预测器都是分类的,则会抛出错误。

你不能同时指定“标准化”,1的,要么“规模”“浸”

将预测数据标准化是一个很好的实践。

例子:“标准化”,真的

数据类型:逻辑

输出参数

全部折叠

k神经网络分类模板适合训练集合或纠错输出代码(ECOC)多类模型,作为模板对象返回。通过tfitcensemblefitcecoc,分别指定如何为集成或ECOC模型创建KNN分类器。

如果你显示t,则所有未指定的选项显示为空([]).但是,在训练期间,软件会用相应的默认值替换空选项。

介绍了R2014a