libsvm中grid.py输出的含义

我是一个SVM的新手,对于libsvm中的一个工具有几个问题。

有一个工具/grid.py,tools/README中解释为“使用RBF(径向基函数)核的C-SVM分类参数选择工具”。

我对这个工具有两个问题。

  1. 这个工具的作用是:给定一组标签/特征参数,通过进行网格搜索,选择最“有效”和“最小”的特征参数。我的理解正确吗?

例如,给定如下数据集,其标签仅依赖于param1,

label, param1, param2, param30    , 0     , 61    , 2     0    , 0     , 92    , 61    , 1     , 10    , 321    , 1     , 83    , 10

如果我们将grid.py应用于这个数据集,它会告诉我最“有效”(以精确识别测试数据类别的方式)和“最小”(以不包含无关参数的方式)的参数是param1吗?

  1. 如果上述问题的答案是肯定的,我如何知道哪些参数是有效且最小的?我看到了一些输出文件,但对我来说没有意义。如果答案是否定的,有没有做我想做的事情的标准方法?

回答:

可能找到了答案。


问题1. 这个工具的作用是:给定一组标签/特征参数,通过进行网格搜索,选择最“有效”和“最小”的特征参数。我的理解正确吗?

答案是否定的。grid.py执行网格搜索并估计最佳的costgamma值。因此,它确实有助于使SVM变得“有效”,但不帮助找到最小的特征集(实际上,可能没有“绝对最小”的特征集,因为准确性和特征数量可能成正比)。

问题2. 如果上述问题的答案是肯定的,我如何知道哪些参数是有效且最小的?我看到了一些输出文件,但对我来说没有意义。如果答案是否定的,有没有做我想做的事情的标准方法?

可能没有标准方法。在决定特征参数时,我们应该首先从领域的角度出发,然后再通过数学方法进行调整。(例如,如果你正在使用SVM来区分恶意软件和良性应用程序,你应该首先考虑恶意软件的行为和趋势,决定“参数候选”,然后应用数学方法,如计算每个特征的平均值和偏差。)

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注