Python 如何获得支持向量机的精度?

Python 如何获得支持向量机的精度?,python,opencv,svm,Python,Opencv,Svm,我有一个支持向量机来分类大量的特征向量。它经过了大约一百万个特征向量的训练。我使用OpenCV SVM类来实现这一点。我如何衡量经过训练的SVM的准确性 我读到: >>pred\u lbl、pred\u acc、pred\u val=svm\u预测(c\u检验、d\u检验、m) 准确度=76.6667%(46/60)(分类) 尽管已经使用了libsvm,但我认为OpenCV只是包装了libsvm类。我说得对吗?我想说的是,OpenCV中可能也有这样一个返回值 正如你在网页上看到的,他运行了一个网

我有一个支持向量机来分类大量的特征向量。它经过了大约一百万个特征向量的训练。我使用OpenCV SVM类来实现这一点。我如何衡量经过训练的SVM的准确性

我读到:

>>pred\u lbl、pred\u acc、pred\u val=svm\u预测(c\u检验、d\u检验、m)
准确度=76.6667%(46/60)(分类)


尽管已经使用了libsvm,但我认为OpenCV只是包装了libsvm类。我说得对吗?我想说的是,OpenCV中可能也有这样一个返回值

正如你在网页上看到的,他运行了一个网格搜索,以获得最佳的svm参数。最佳参数集是在精度最大化时获得的(
p\u acc[0]


或者我必须手工标记所有特征向量,以获得某种我可以估计精度的基本事实?这将是相当多的工作,并希望避免它


我在这里也看到了一些类似的问题,但我的问题没有明确的答案。提前谢谢

您可以通过保留一些数据(不用于训练)并测量模型在该数据上的性能来测量准确性。

我认为OpenCV只是包装了libsvm类-更多的是重写,基于原始libsvm代码“我必须手动标记所有特征向量吗”-它确实需要适当的标签进行训练。你现在用什么样的标签呢?基本上我从图像中获取特征向量,然后用kmeans对它们进行聚类。我的算法desides with cluster标记为class 1或class 2。我想获得某种在线学习,svm的准确度也将是衡量我自我标记表现好坏的一个指标。只需说:从kmeans/er或任何无监督方法获得的标记都离“基本真相”很远(好吧;)我至少希望通过85%的acc分数。到目前为止,结果看起来相当不错,但我必须首先测量acc。啊,好的,并且“根据该数据测量模型的性能”将被手动标记为基本事实数据?如果你不想再次训练,你也可以创建新的性能测量数据。但是,在培训期间保留数据可以让您自动测量性能和重新培训您希望将“培训”和“测试”集分开以避免偏差。您希望非常非常确定测试数据不包括在培训集中,即使是通过复制。这只是一种自动保留机制。