matlab使用svm处理葡萄酒品质分类总是提示串联的矩阵维度不一致

img

代码如上:(需要解决葡萄酒分类问题)

img

改了好多次,总是运行不成功,可以教教吗?

data(1:30)取出来的是data的第一列1到30个元素,所以行上维数不一致,把分号删掉就行了:

train_group = [data(1:30) data(60:95) data(131:153)]

在你的代码中分割数据后,训练数据和测试数据的第一列到第11列是特征数据,最后一列是标签数据(或者分类数据)。错误提示显示GROUP和TRAINING的观察次数不同,也就是说训练数据和标签数据的行数不同。这可能是由于训练数据和标签数据没有正确拆分导致的。

你可以尝试打印出数据维度,确保训练数据和标签数据的行数一致。如果不一致,你可以尝试重新组织数据或重新拆分数据来纠正错误。以下是可能有用的代码,用于检查数据维度并重组数据:

% 检查训练数据和测试数据的数据维度 disp(size(training_data(:,1:11))); % 显示训练数据的维度 disp(size(training_data(:,end))); % 显示训练数据标签的维度 disp(size(testing_data(:,1:11))); % 显示测试数据的维度 disp(size(testing_data(:,end))); % 显示测试数据标签的维度

% 尝试重新组织数据,确保训练数据和标签数据的行数相同 new_training_data = [training_data(:,1:11) training_data(:,end)]; new_testing_data = [testing_data(:,1:11) testing_data(:,end)];

如果仍然存在问题,你可以检查数据拆分的过程,确保拆分数据的代码实现正确。