【发布时间】:2015-02-12 06:21:42
【问题描述】:
我有一个 SVM 正在运行以对大量特征向量进行分类。它已经用大约 100 万个特征向量进行了训练。为此,我使用 OpenCV SVM 类。如何衡量经过训练的 SVM 的准确度?
在this page 我读到:
>>> pred_lbl, pred_acc, pred_val = svm_predict(c_test,d_test,m)
Accuracy = 76.6667% (46/60) (classification)
即使已经使用了 libsvm,我认为 OpenCV 只是包装了 libsvm 类。我对吗?我的意思是,OpenCV 中可能也有这样的返回值。
正如您在网页上看到的那样,他运行网格搜索以获得最佳 svm 参数。当准确率最大化时获得最佳参数集(p_acc[0])。
或者我是否必须手动标记所有特征向量以获得某种可以估计准确度的基本事实?这将是大量的工作,并希望避免它。
我在这里也看到了一些类似的问题,但我的问题没有明确的答案。提前致谢!
【问题讨论】:
-
“我认为 OpenCV 只是包装了 libsvm 类”——更多的是基于原始 libSVM 代码的重写
-
“我必须手动标记所有特征向量吗” - 它肯定需要适当的标签进行训练。你现在使用什么样的标签?
-
基本上我从图像中获取特征向量并用kmeans对它们进行聚类。我的算法与集群一起被标记为 1 或 2 类。我想获得某种在线学习,并且 svm 的准确性也将衡量我的自我标记性能。
-
只是说:从 kmeans / er 或任何无监督方法获得的标签与“基本事实”相去甚远
-
ok ;) 我至少愿意通过 85% 的考试。标记。到目前为止,结果看起来相当不错,但我必须测量 acc。首先。