首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用测试数据量化分类器(多类SVM)的性能?

如何利用测试数据量化分类器(多类SVM)的性能?
EN

Data Science用户
提问于 2018-05-14 00:39:29
回答 2查看 414关注 0票数 0

我正在使用比利时交通标志数据集在MATLAB中编写交通标志识别代码。数据集由培训数据和测试数据组成。

我使用VL_HOG函数从VL_feat库中调整给定图像的大小并提取HOG特征,然后使用训练数据集中的所有标记训练多类支持向量机。

我特别感兴趣的是探测到8个信号。问题1:我是否应该只使用这8个符号的训练集来训练模型,还是用整个训练数据集来训练模型,而忽略我在检测阶段不感兴趣的迹象?

在训练多类支持向量机时,我想利用测试数据测试分类器的性能.问题2:有人能指导我如何做到这一点吗?我发现了一些与我正在寻找的可用这里类似的东西。如果我能获得定量数据,如百分比形式的混淆矩阵,那就太好了。

谢谢!

EN

回答 2

Data Science用户

发布于 2018-05-14 08:32:13

机器学习过程通常有三个步骤:

  1. 培训(关于培训数据):这些数据用于学习阶段。该模型优化调整权重,以便将此数据集上的损失函数降到最低。
  2. 评估(关于评估数据):它用于微调模型,例如,您可以决定您的模型是否适合。
  3. 测试(对测试数据):告诉您模型的推理能力。

这三个数据集的交集必须是零,它们应该来自相同的分布。

回顾一下,第一件事是两个数据集的命名约定:

  1. 如果培训和测试数据集来自同一个分布(我想是的,因为它们都是比利时签名流量),您可以将其命名为培训和验证数据集。
  2. 如果条件相同,则可以对培训数据集执行交叉验证,并继续将其命名为培训和Tets数据集。

我特别感兴趣的是探测到8个信号。问题1:我是否应该只使用这8个符号的训练集来训练模型,还是用整个训练数据集来训练模型,而忽略我在检测阶段不感兴趣的迹象?

这取决于您正在设计的算法的实际应用程序是否会遇到这些剩余的标志。如果是这样的话,我会给这些标志一个标签,例如“不关心”。该算法应该有能力识别你的8个标志,并知道其他的是不重要的,但不要落在你想要的目标。相反,如果算法总是使用这8个符号,则只能使用这些图像。还有其他方法:您可以训练以前的支持向量机,其中设置两组符号(二进制分类器或支持向量数据描述),其中一组包含目标8,另一组包含其余的符号。然后,另一种支持向量机只有在先前对所需的8种符号进行分类后才能识别出该符号(该SVM仅用这8种符号进行训练)。

在训练多类支持向量机时,我想利用测试数据测试分类器的性能.问题2:有人能指导我如何做到这一点吗?我在这里发现了一些与我正在寻找的类似的东西。如果我能获得定量数据,如百分比形式的混淆矩阵,那就太好了。

考虑到这一点,我想您必须将您的数据集命名为培训和评估。首先使用培训数据对模型进行培训,然后评估其如何与评估数据进行泛化。首先,您必须决定您将使用哪些度量标准,我建议您在每个类中使用精确性和召回性。一旦您有了经过培训的模型,您就可以在评估测试中执行预测,并获得该数据集的指标。例如,如果您对评估数据的结果比对培训数据的结果差,则您的模型正在对培训数据集进行过度拟合。

不过,我强烈建议您在培训数据集上使用交叉验证,请访问此链接

票数 1
EN

Data Science用户

发布于 2018-12-19 15:43:26

有许多不同的参数可以通过比较真实标签和预测标签来评估您的方法的性能。我建议使用PyCM模块,它可以给出各种各样的参数。

您可以在python中使用以下简单代码:

代码语言:javascript
复制
>>> from pycm import *
>>> y_actu = [2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2] # or y_actu = numpy.array([2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2])
>>> y_pred = [0, 0, 2, 1, 0, 2, 1, 0, 2, 0, 2, 2] # or y_pred = numpy.array([0, 0, 2, 1, 0, 2, 1, 0, 2, 0, 2, 2])
>>> cm = ConfusionMatrix(actual_vector=y_actu, predict_vector=y_pred) # Create CM From Data
>>> print(cm)
票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/31613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档