SVM:为什么只计算前两列功能

时间:2015-03-01 16:18:20

标签: matlab svm libsvm svmlight

我在网上找到了一个SVM示例。我不明白为什么只计算前两列功能。数据集很有名" spiral_Nc10_train.mat"和" spiral_Nc10_train.mat"。 " spiral_Nc10_train.mat"包含1)数据= 1000 * 3双; 2)label = 1000 * 1 double。 " spiral_Nc10_test.mat"包含1)数据= 500 * 3双; 2)label = 500 * 1 double。原始代码的一部分如下所示:

load(fullfile(dirData,'spiral_Nc10_train'));
rawTrainData = data(:,1:2);   (line 2)
rawTrainLabel = label;
NTrain = size(rawTrainData,1);
[sortedTrainLabel, permIndex] = sortrows(rawTrainLabel);
sortedTrainData = rawTrainData(permIndex,:);

load(fullfile(dirData,'spiral_Nc10_test'));
rawTestData = data(:,1:2);    (line 8)
rawTestLabel = label;
NTest = size(rawTestData,1);
[sortedTestLabel, permIndex] = sortrows(rawTestLabel);
sortedTestData = rawTestData(permIndex,:);

我尝试将第2行和第8行更改为以下内容:

rawTrainData = data(:,1:3);
rawTestData = data(:,1:3);

但结果是错误的,最终预测标签也是错误的。谁能告诉我为什么SVM只能应用于2列功能?非常感谢你!

0 个答案:

没有答案