matlab 提示Undefined variable dataset是什么意思啊,没有定义变量吗

clear all;
clc;
load dataset.mat %导入要分类的数据集
load labelset.mat %导入分类集标签集

% 选定训练集和测试集

% 将第一类的1-5,第二类的11-15做为训练集
train_set_dataset = [dataset(1:5,:);dataset(11:15,:)];
% 相应的训练集的标签也要分离出来
train_set_labels = [labelset(1:5);labelset(11:15)];
% 将第一类的6-10,第二类的16-20,做为测试集
test_set_dataset = [dataset(6:10,:);dataset(16:20,:)];
% 相应的测试集的标签也要分离出来
test_set_labels = [labelset(6:10);labelset(16:20)];

% 数据预处理,将训练集和测试集归一化到[0,1]区间

[mtrain,ntrain] = size(train_set);
[mtest,ntest] = size(test_set);

test_dataset = [train_set;test_set];
% mapminmax为MATLAB自带的归一化函数
[dataset_scale,ps] = mapminmax(test_dataset',0,1);
dataset_scale = dataset_scale';

train_set = dataset_scale(1:mtrain,:);
test_set = dataset_scale( (mtrain+1):(mtrain+mtest),: );

%% SVM网络训练
model = svmtrain(train_set_labels, train_set, '-c 1 -g 0.07');

%% SVM网络预测
[predict_label] = svmpredict(test_set_labels, test_set, model);

%% 结果分析

% 测试集的实际分类和预测分类图
% 通过图可以看出只有一个测试样本是被错分的
figure;
hold on;
plot(test_set_labels,'o');
plot(predict_label,'r*');
xlabel('测试集样本','FontSize',12);
ylabel('类别标签','FontSize',12);
legend('实际测试集分类','预测测试集分类');
title('测试集的实际分类和预测分类图','FontSize',12);
grid on;

错误是没有定义变量dataset。
可能原因是:
load dataset.mat %导入要分类的数据集

这个数据文件没有内容dataset就不存在。还有导入的变量名不是dataset。
你可以在明亮窗口load dataset.mat ,看是否存在dataset。

希望采纳,设置为满意答案,谢谢。
温馨提示:答案为网友推荐,仅供参考
相似回答