2016-05-05 69 views
0

我已经从UCI下载了一些RVM任务分类的数据集。但是,我不确定如何使用它。我猜这些数据集必须进行标准化或做一些其他工作,然后再将其用于培训和测试。 例如,我已经在UCI上下载了'钞票认证数据集',并且在matlab中使用svmtrain来获得svm模型(使用svm模型来测试数据,如果svm分类结果正确,则使用rvm代码)。如何使用UCI数据集对RVM进行分类?

>> load banknote 
>> meas = banknote(:,1:4); 
>> species = banknote(:,5); 
>> data = [meas(:,1), meas(:,2), meas(:,3), meas(:,4)]; 
>> groups = ismember(species,1); 
>> [train, test] = crossvalind('holdOut',groups); 
>> cp = classperf(groups); 
>> svmStruct = svmtrain(data(train,:),groups(train),'showplot',true); 

这是我做在MATLAB中,并得到了以下消息:

??? Error using ==> svmtrain at 470 
Unable to solve the optimization problem: 
Maximum number of iterations exceeded; increase options.MaxIter. 
To continue solving the problem with the current solution as the 
starting point, set x0 = x before calling quadprog. 

而且这里是数据集的一部分(总线1372,并使用一些训练,其余的用于测试):

3.6216,8.6661,-2.8073,-0.44699,0 
4.5459,8.1674,-2.4586,-1.4621,0 
3.866,-2.6383,1.9242,0.10645,0 
3.4566,9.5228,-4.0112,-3.5944,0 
0.32924,-4.4552,4.5718,-0.9888,0 
4.3684,9.6718,-3.9606,-3.1625,0 
3.5912,3.0129,0.72888,0.56421,0 
2.0922,-6.81,8.4636,-0.60216,0 
3.2032,5.7588,-0.75345,-0.61251,0 
1.5356,9.1772,-2.2718,-0.73535,0 
1.2247,8.7779,-2.2135,-0.80647,0 
3.9899,-2.7066,2.3946,0.86291,0 
1.8993,7.6625,0.15394,-3.1108,0 
-1.5768,10.843,2.5462,-2.9362,0 
3.404,8.7261,-2.9915,-0.57242,0 

那么,对这个问题有什么好的建议?谢谢大家的帮忙。

回答

0

稍后提交。使用尺度函数对特征进行归一化。如果数据集特征太多,我们可以使用PCA来减小尺寸。

相关问题