2
我想使用支持向量机从一个非常高维的数据集,这是一个3249X40
矩阵做二进制分类。我有五个类似的数据集。虽然我正确地从决策树中得到结果(低但不同),但每次使用任何数据集时,我都会得到与SVM完全相同的结果。我以如下方式使用svm:在Matlab中支持向量机分类的不寻常结果
svmModel = svmtrain(train_mat(trainIdx,:), groups(trainIdx), ...
'Autoscale',true, 'Showplot',false, 'Method','QP', ...
'BoxConstraint',2e-1, 'Kernel_Function','rbf', 'RBF_Sigma',1);
pred = svmclassify(svmModel, train_mat(testIdx,:), 'Showplot',false);
它有什么问题?我使用的决策树是这样的:
tree=ClassificationTree.fit(train_mat(trainIdx,:),groups(trainIdx,:));
pred=tree.predict(train_mat(testIdx,:));
我正在从决策树的5个集不同的结果(这似乎正确的为好)。怎么了?是否因为支持向量机不能处理与变量数量相比观察数量很少的数据集?
交叉验证是获得正确的训练和测试数据的组合?我已经在这里做了。 – MaxSteel 2013-04-26 17:11:16
不,要平均找到箱子约束和伽玛效果最好。 – carlosdc 2013-04-26 17:12:45
你能解释一下多一点。不好意思问这样一个小问题。 – MaxSteel 2013-04-26 17:13:48