【发布时间】:2012-04-13 11:26:19
【问题描述】:
我无法计算在语音向量上运行 svm 所获得的低准确度。我已经交叉验证了数据没有错误,甚至在其上使用了朴素贝叶斯分类器以获得良好的结果。
首先我要提一下,我已经确认我没有使用相同的文件进行训练和测试。
我有一组用于训练的正负类数据
pos = ones(size(PositiveTraining,1),1);
neg = ones(size(NegativeTraining,1),1)*-1;
Training = [ PositiveTraining ; NegativeTraining ];
TrainingLabels = [pos;neg];
model = svmtrain( TrainingLabels , Training, '-t 0' );
获得模型后,我正在使用以下代码测试向量
testing_label_vector = ones(size(mfcc,1),1); % where mfcc is my testing matrix
[predicted_label, a, b ] = svmpredict(testing_label_vector, File.mfcc, model );
edges = [-1,1];
hist = histc( predicted_label , edges )
但是,我发现最大精度范围为 0% 到 13%。
我做错了什么吗?
假设数据是正确的,有人可以建议我如何提高分类器的准确性吗?
【问题讨论】:
-
如果您获得 0-13% 的准确率,只需翻转分类的意义,您将获得 87-100% 的准确率!