MATLAB-knn分类的应用

MATLAB-knn分类的应用,matlab,matrix,machine-learning,Matlab,Matrix,Machine Learning,执行以下操作时: load training.mat training = G load testing.mat test = G 然后: >> knnclassify(test.Inp, training.Inp, training.Ltr) ??? Error using ==> knnclassify at 91 The length of GROUP must equal the number of rows in TRAINING. 自: >> s

执行以下操作时:

load training.mat
training = G

load testing.mat
test = G
然后:

>> knnclassify(test.Inp, training.Inp, training.Ltr)

??? Error using ==> knnclassify at 91
The length of GROUP must equal the number of rows in TRAINING.
自:

>> size(training.Inp)
ans =
          40          40        2016
以及:


我怎样才能给knncclassify(TRAINING)的第二个参数TRAINING.inp 3-D矩阵,使行数为2016(第三维)?

假设您的三维数据被解释为2016个实例(第三维)的40×40特征矩阵,我们必须将其重新排列为2016×1600大小的矩阵(行是示例,列是标注):


您需要澄清数据的外观;据我所知,您有2016个实例(行),其中每个实例(行)都有40*40个特征(列)?对吗?
>> length(training.Ltr)
ans =
        2016
%# random data instead of the `load data.mat`
testing = rand(40,40,200);
training = rand(40,40,2016);
labels = randi(3, [2016 1]);     %# a class label for each training instance
                                 %# (out of 3 possible classes)

%# arrange data as a matrix whose rows are the instances,
%# and columns are the features
training = reshape(training, [40*40 2016])';
testing = reshape(testing, [40*40 200])';

%# k-nearest neighbor classification
prediction = knnclassify(testing, training, labels);