0

我想使用 SVMlight 在我的训练集上运行交叉验证。似乎这个选项是 -x 1 (虽然我不确定它实现了多少折叠......)。输出是:

XiAlpha-estimate of the error: error<=31.76% (rho=1.00,depth=0)
XiAlpha-estimate of the recall: recall=>68.24% (rho=1.00,depth=0)
XiAlpha-estimate of the precision: precision=>69.02% (rho=1.00,depth=0)
Number of kernel evaluations: 56733
Computing leave-one-out **lots of gibberish here**
Retrain on full problem..............done.
Leave-one-out estimate of the error: error=12.46%
Leave-one-out estimate of the recall: recall=86.39%
Leave-one-out estimate of the precision: precision=88.82%
Actual leave-one-outs computed:  412 (rho=1.00)
Runtime for leave-one-out in cpu-seconds: 0.84

我怎样才能获得准确性?从estimate of the error?

谢谢!

4

1 回答 1

3

这些是相互矛盾的概念。训练误差是训练集上的误差,而交叉验证用于近似验证误差(在用于训练的数据上)。

您的输出表明您正在使用 N 折(其中 N 大小的训练集),这会导致所谓的“留一个”验证(只有 1 个测试点!),这会高估模型的质量。你应该尝试 10 倍,你的准确率只是 1 错误。

于 2014-03-24T20:23:45.580 回答