我在 Matlab 中有这个脚本
结构 = svmTraining(feature_train,class_final_train);
svmclassify(结构,feature_test);
但是,5秒后出现以下消息
???Error using ==> svmclassify at 117 分类过程中遇到错误。记不清。键入 HELP MEMORY 作为您的选项。
帮帮我,谢谢
我在 Matlab 中有这个脚本
结构 = svmTraining(feature_train,class_final_train);
svmclassify(结构,feature_test);
但是,5秒后出现以下消息
???Error using ==> svmclassify at 117 分类过程中遇到错误。记不清。键入 HELP MEMORY 作为您的选项。
帮帮我,谢谢
通过对测试数据的连续子集调用 svmclassify() 函数,我能够为自己解决同样的问题。出于某种原因,如果你给它大量的测试数据,它需要大量的内存。
所以这对我有用
numExemplars = size(testData,1);
chunkSize = 1000;
j=1:chunkSize:numExemplars;
classifications = zeros(numExemplars,1); %initialize
for i=1:length(j)-1;
index1 = j(i);
index2 = j(i+1)-1;
fprintf('classifying exemplars %d to %d\n', index1, index2 );
chunk = testData(index1:index2,:);
classifications(index1:index2) = svmclassify(SVM_struct,chunk);
end
% last bit of data
chunk = testData(j(end):numExemplars,:);
classifications(j(end):numExemplars) = svmclassify(SVM_struct,chunk);
该错误意味着您的机器上没有足够的可用内存来执行分类。
首先,尝试使用新启动的 MATLAB 重复这些命令,不要创建任何不必要的变量,也不要运行其他应用程序。
如果这不起作用,那么基本上您将需要使用较小的数据集,或者为您的机器获取更多内存。