templateKNN
k-最近邻分类器模板
描述
例子
创建一个k-集成的最近邻模板
创建一个非默认值k使用的最近邻模板fitcensemble
.
载入费雪的虹膜数据集。
负载fisheriris
为5近邻搜索创建一个模板,并指定对预测器进行标准化。
t = templateKNN(“NumNeighbors”5,“标准化”, 1)
t =拟合分类KNN模板。NumNeighbors: 5 NSMethod: " Distance: " BucketSize: " IncludeTies: [] DistanceWeight: [] BreakTies: [] Exponent: [] Cov: [] Scale:[]标准化数据:1版本:1方法:'KNN'类型:'classification'
模板对象的所有属性都为空,除了NumNeighbors
,方法
,StandardizeData
,类型
.当你指定t
作为一个学习者,软件用它们各自的默认值填充空属性。
指定t
作为一个分类集合的弱学习者。
Mdl = fitcensemble(meas,species,物种)“方法”,“子”,“学习者”t);
显示样本内(替换)错误分类错误。
L = resubLoss(Mdl)
L = 0.0600
创建一个k- ECOC多类学习的最近邻模板
创建一个非默认值k使用的最近邻模板fitcecoc
.
载入费雪的虹膜数据集。
负载fisheriris
为5近邻搜索创建一个模板,并指定对预测器进行标准化。
t = templateKNN(“NumNeighbors”5,“标准化”, 1)
t =拟合分类KNN模板。NumNeighbors: 5 NSMethod: " Distance: " BucketSize: " IncludeTies: [] DistanceWeight: [] BreakTies: [] Exponent: [] Cov: [] Scale:[]标准化数据:1版本:1方法:'KNN'类型:'classification'
模板对象的所有属性都为空,除了NumNeighbors
,方法
,StandardizeData
,类型
.当你指定t
作为一个学习者,软件用它们各自的默认值填充空属性。
指定t
作为ECOC多类模型的二元学习器。
Mdl = fitcecoc(meas,种,“学习者”t);
默认情况下,该软件进行训练Mdl
使用一对一编码设计。
显示样本内(替换)错误分类错误。
L = resubLoss(Mdl,“LossFun”,“classiferror”)
L = 0.0467
输入参数
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:“NumNeighbors”4“距离”,“闵可夫斯基”
指定使用闵可夫斯基距离度量的4近邻分类器模板。
BreakTies
- - - - - -打破僵局的算法
“最小”
(默认)|“最近的”
|“随机”
使用的破键算法预测
方法,如果多个类具有相同的最小代价,则指定为逗号分隔的对,由“BreakTies”
和以下其中之一:
“最小”
—在并列组中使用最小的索引。“最近的”
-使用绑定组中最接近的类。“随机”
-在打平的组中使用随机的平局。
默认情况下,当多个类之间的最近点数量相同时,就会发生联系k最近的邻居。
例子:“BreakTies”,“最近”
BucketSize
- - - - - -节点最大数据点
50
(默认)|正整数
的叶节点中的最大数据点数Kd-树,指定为逗号分隔的对,由“BucketSize”
和一个正整数值。这个论点只有在NSMethod
是“kdtree”
.
例子:“BucketSize”,40岁
数据类型:单
|双
浸
- - - - - -协方差矩阵
X (X, omitrows)
(默认)|标量值的正定矩阵
协方差矩阵,指定为逗号分隔的对,由“浸”
以及计算马氏距离时表示协方差矩阵的标量值的正定矩阵。这个论点只有在“距离”
是“mahalanobis”
.
你不能同时指定“标准化”
其中任何一个“规模”
或“浸”
.
数据类型:单
|双
距离
- - - - - -距离度量
“cityblock”
|“chebychev”
|“相关”
|的余弦
|“欧几里得”
|“汉明”
|函数处理|……
距离度量,指定为逗号分隔的对,由“距离”
和有效的距离度量名称或函数句柄。允许的距离度量名称取决于您选择的邻居搜索器方法(参见NSMethod
).
NSMethod |
距离度量名称 |
---|---|
详尽的 |
任意距离度量ExhaustiveSearcher |
kdtree |
“cityblock” ,“chebychev” ,“欧几里得” ,或闵可夫斯基的 |
的有效距离度量ExhaustiveSearcher
.
距离度量名称 | 描述 |
---|---|
“cityblock” |
城市街区距离。 |
“chebychev” |
切比乔夫距离(最大坐标差)。 |
“相关” |
1减去观察值之间的样本线性相关性(作为值序列处理)。 |
的余弦 |
1减去观测值之间夹角的余弦(作为向量处理)。 |
“欧几里得” |
欧氏距离。 |
“汉明” |
汉明距离,不同坐标的百分比。 |
“jaccard” |
1减去雅卡德系数,非零坐标的百分比。 |
“mahalanobis” |
马氏距离,用正定协方差矩阵计算C .的默认值。C 样本协方差矩阵是X ,按X (X, omitrows) .指定不同的值C ,使用“浸” 名称-值对参数。 |
闵可夫斯基的 |
闵可夫斯基距离。默认指数为2 .要指定不同的指数,请使用“指数” 名称-值对参数。 |
“seuclidean” |
标准化欧氏距离。每一个坐标差X 查询点是缩放的,意思是除以缩放值年代 .的默认值。年代 标准偏差是从哪里计算的X ,S = std(X,'omitnan') .指定另一个值年代 ,使用规模 名称-值对参数。 |
“枪兵” |
1减去观察值之间的样本斯皮尔曼秩相关(作为值序列处理)。 |
@ |
距离函数句柄。 函数D2 = distfun(ZI,ZJ)距离百分比计算...
|
如果你指定CategoricalPredictors
作为“所有”
,则默认距离度量为“汉明”
.否则,默认距离度量为“欧几里得”
.
有关定义,请参见距离度量.
例子:“距离”,“闵可夫斯基”
数据类型:字符
|字符串
|function_handle
DistanceWeight
- - - - - -距离加权函数
“平等”
(默认)|“逆”
|“squaredinverse”
|函数处理
距离加权函数,指定为逗号分隔的对,由“DistanceWeight”
或者是函数句柄,或者是表中的一个值。
价值 | 描述 |
---|---|
“平等” |
没有权重 |
“逆” |
重量是1/距离 |
“squaredinverse” |
重量是1/距离2 |
@ |
fcn 是一个函数,它接受非负距离的矩阵,并返回包含非负距离权值的相同大小的矩阵。例如,“squaredinverse” 等于@ (d) d。^ (2) . |
例子:“DistanceWeight”、“逆”
数据类型:字符
|字符串
|function_handle
指数
- - - - - -闵可夫斯基距离指数
2
(默认)|正标量值
闵可夫斯基距离指数,指定为逗号分隔的对,由“指数”
一个正的标量值。这个论点只有在“距离”
是闵可夫斯基的
.
例子:“指数”,3
数据类型:单
|双
IncludeTies
- - - - - -系上包含标志
假
(默认)|真正的
领带包含标志,指定为逗号分隔的一对,由“IncludeTies”
以及指示是否预测
包含所有距离值等于k最小的距离。如果IncludeTies
是真正的
,预测
包括所有这些邻居。否则,预测
使用完全k邻居。
例子:“IncludeTies”,真的
数据类型:逻辑
NSMethod
- - - - - -最近邻搜索法
“kdtree”
|“详尽”
最近邻搜索方法,指定为逗号分隔的对,由“NSMethod”
而且“kdtree”
或“详尽”
.
“kdtree”
—创建并使用Kd树查找最近的邻居。“kdtree”
当距离度量是以下之一时有效:“欧几里得”
“cityblock”
闵可夫斯基的
“chebychev”
“详尽”
—使用穷尽搜索算法。在预测一个新点的类时xnew
,软件计算从所有点的距离值X
来xnew
寻找最近的邻居。
默认为“kdtree”
当X
有10
或者更少的列,X
不是稀疏还是一个gpuArray
,距离度规是a“kdtree”
类型;否则,“详尽”
.
例子:“NSMethod”、“详尽”
NumNeighbors
- - - - - -要找到的最近邻居的数量
1
(默认)|正整数
中最近的邻居数X
用于在预测时对每个点进行分类,指定为逗号分隔的对,由“NumNeighbors”
和一个正整数值。
例子:“NumNeighbors”,3
数据类型:单
|双
规模
- - - - - -距离范围内
性病(X, omitnan)
(默认)|非负标量值的向量
距离刻度,指定为逗号分隔的对,由“规模”
和一个包含非负标量值的向量,其长度等于中的列数X
.每一个坐标差X
的对应元素对查询点进行缩放规模
.这个论点只有在“距离”
是“seuclidean”
.
你不能同时指定“标准化”
其中任何一个“规模”
或“浸”
.
数据类型:单
|双
标准化
- - - - - -标志来标准化预测器
假
(默认)|真正的
标志来标准化预测器,指定为逗号分隔的一对,由“标准化”
而且真正的
(1
)或假
(0)
.
如果你设置“标准化”,真的
,然后软件将预测数据的每列居中并缩放(X
)分别用列均值和标准差表示。
该软件没有标准化分类预测器,如果所有预测器都是分类的,则抛出错误。
你不能同时指定“标准化”,1
其中任何一个“规模”
或“浸”
.
将预测器数据标准化是一种很好的做法。
例子:“标准化”,真的
数据类型:逻辑
输出参数
t
- - - - - -k神经网络分类模板
模板对象
kNN分类模板适用于训练集合或纠错输出码(ECOC)多类模型,作为模板对象返回。通过t
来fitcensemble
或fitcecoc
指定如何分别为集成或ECOC模型创建KNN分类器。
如果你显示t
,则所有未指定的选项都显示为空([]
).但是,在训练过程中,软件会用它们对应的默认值替换空选项。
版本历史
在R2014a中介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。