Matlab 分组变量必须是KNN分类器中的向量错误

Matlab 分组变量必须是KNN分类器中的向量错误,matlab,classification,knn,Matlab,Classification,Knn,我正在使用matlab的函数开发KNN分类器: knnclassify(gp,trainingClass, gpTest), 在哪里 gp是矩阵,gpTest是要测试的矩阵,但它会引发以下错误 使用grp2idx(第39行)分组变量时出错必须是向量或 字符数组 KNNCLATIZE(第81行)[gindex,组]=grp2idx(组)中的错误 测试错误(第1行)KNN分类(gp、培训班、gpTest) 错误很明显,gpTest变量应该是一个向量,长度与包含描述每个训练样本的组标签的训练数据(t

我正在使用matlab的函数开发KNN分类器:

knnclassify(gp,trainingClass, gpTest),
在哪里

gp
矩阵,
gpTest
是要测试的矩阵,但它会引发以下错误

使用grp2idx(第39行)分组变量时出错必须是向量或 字符数组

KNNCLATIZE(第81行)[gindex,组]=grp2idx(组)中的错误

测试错误(第1行)KNN分类(gp、培训班、gpTest)


错误很明显,
gpTest
变量应该是一个向量,长度与包含描述每个训练样本的组标签的训练数据(
trainingClass
)相同。这可以是数字或字符数组

为了澄清这一点,
knnclavide
(以其最简单的形式)被定义为

CLASS = knnclassify(SAMPLE,TRAINING,GROUP)
其中,
SAMPLE
包含要基于
training
中的m个训练样本进行分类的n个点,每个样本都被定义为属于
组中给定的类。然后,分类器将基于
training
中的训练数据中的k个最近邻预测
SAMPLE
中n个样本中的每个样本的类别<代码>示例
培训
应包含相同数量的列。默认情况下,k为1,因此它将使用欧几里德距离根据最近的训练样本对每个点进行分类