Matlab 分组变量必须是KNN分类器中的向量错误
我正在使用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
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,因此它将使用欧几里德距离根据最近的训练样本对每个点进行分类