How can I solve this problem?

3 views (last 30 days)
卓亚
卓亚 on 3 Jun 2024
Commented: 卓亚 on 4 Jun 2024
%数据集中1-59样本为第一类,60-130第二类,131-178第三类
load wine.mat;%载入数据
train_wine = [wine(1:30,:);wine(60:95,:);wine(131:153,:)];%第一类的1-30,第二类60-95,第三类131-153作为训练集
train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)];%提取标签
test_wine = [wine(31:59,:);wine(96:130,:);wine(154:178,:)];%剩下样本作为测试集
test_wine_labels = [wine_labels(31:59);wine_labels(96:130);wine_labels(154:178)];%提取相应标签
[mtrain,ntrain] = size(train_wine);
[mtest,ntest] = size(test_wine);%数据预处理,归一化
datatest = [train_wine;test_wine];
[dataset_scale,ps] = mapminmax(dataset',0,1);
dataset_scale = dataset_scale';
train_wine = dataset_scale(1:mtrain,:);
test_wine = dataset_scale((mtrain+1):(mtrain+mtest),:);
%预测模型
model = svmtrain(train_wine_labels,train_wine,'-c 2 -g 1');
[predict_label,accuracy] = svmpredict(test_wine_labels,test_wine,model);
函数或变量 'wine_labels' 无法识别。
Function or variable ‘wine_labels’ is not recognised.
  3 Comments
Fangjun Jiang
Fangjun Jiang on 3 Jun 2024
Do you have variable "wine_labels" in the wine.mat file? Double check the variable name, or attach your wine.mat file
卓亚
卓亚 on 4 Jun 2024
Function or variable ‘wine_labels’ is not recognised.

Sign in to comment.

Accepted Answer

Shivani
Shivani on 4 Jun 2024
Hello @卓亚,
After looking at the code snippet and the MAT file you shared, I noticed that the 'wine.mat' file does not have a column called 'wine_labels'. It seems like you're extracting all the 13 columns of rows 1 to 30, 60 to 95 and 131 to 153 from 'wine' and storing it in 'train_wine'. However, you're facing an error when you try to run this line:
train_wine_labels = [wine_labels(1:30);wine_labels(60:95);wine_labels(131:153)];
This is because there is no variable/data in the workspace named 'wine_labels'. It is possible that you are missing out on loading another MAT file named 'wine_labels' which would ideally be a vector of dimension 178x1, containining the predictions corresponding to the input parameters in 'wine.mat'. Loading or creating the 'wine_labels' vector should resolve this error.
Hope this helps!
  1 Comment
卓亚
卓亚 on 4 Jun 2024
Thanks for the reply, problem solved!
I have another query, when I get a raw data, how do I insert the labels into the data, do I add them manually through excel? Or is there a code for this in MATLAB

Sign in to comment.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!