【问题标题】:Cross Validation in libsvmlibsvm 中的交叉验证
【发布时间】:2011-07-09 04:20:39
【问题描述】:

我在我的项目中使用 libsvm 库,最近发现它提供了开箱即用的交叉验证。 我正在检查文档,它清楚地表明我必须使用 -n 开关调用 svm-train 才能使用 CV 功能 . 当我使用 -v 开关调用它时,我无法获得 svm-predict 所需的模型文件。

从头实现支持向量机超出了我的项目范围,所以如果它坏了,我宁愿修复它或向社区寻求支持。

有人可以帮忙吗?

这里是 link to the library,用 C 和 C++ 实现,这里是 the paper that describes how to use it

【问题讨论】:

    标签: c++ c algorithm machine-learning


    【解决方案1】:

    因为 libsvm 仅使用 cv 进行参数选择。

    来自 libsvm 常见问题解答:

    Q:做交叉验证后,为什么没有模型文件输出? 交叉验证用于选择好的参数。找到它们后,您想在不使用 -v 选项的情况下重新训练整个数据。

    如果您打算使用 cv 来估计数据分类器的质量,您应该通过拆分数据来实施外部交叉验证,在某些部分进行训练并在其他部分进行测试。

    【讨论】:

      【解决方案2】:

      自从我使用 libsvm 以来已经有一段时间了,所以我认为我没有您正在寻找的答案,但是如果您运行交叉验证并且对结果感到满意,那么使用相同的参数运行 lib-svm 而无需-v 将产生相同的模型。

      【讨论】:

        猜你喜欢
        • 2013-12-06
        • 2016-04-05
        • 2015-01-08
        • 2012-02-04
        • 2014-01-10
        • 2014-04-28
        • 2012-12-11
        • 2011-07-14
        • 2015-06-01
        相关资源
        最近更新 更多