Machine learning 如何通过交叉验证在svmlight中获得训练精度

Machine learning 如何通过交叉验证在svmlight中获得训练精度,machine-learning,svm,cross-validation,svmlight,Machine Learning,Svm,Cross Validation,Svmlight,我想使用SVMlight在我的训练集上运行交叉验证。这个选项似乎是-x1(尽管我不确定它实现了多少次折叠…)。输出为: 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

我想使用SVMlight在我的训练集上运行交叉验证。这个选项似乎是-x1(尽管我不确定它实现了多少次折叠…)。输出为:

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
XiAlpha误差估计值:误差68.24%(rho=1.00,深度=0)
夏尔法精度估算:精度=>69.02%(rho=1.00,深度=0)
内核评估数:56733
计算不必考虑**这里有很多胡言乱语**
完整问题的再培训…………完成。
遗漏一项误差估计值:误差=12.46%
剔除一项召回估计:召回率=86.39%
剔除一个精度估算值:精度=88.82%
计算出的实际遗漏:412(rho=1.00)
以cpu秒为单位保留一个的运行时间:0.84
我怎样才能得到准确度?根据错误的
估计值


谢谢大家!

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


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

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


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

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


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

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



您的输出表明您正在使用N倍(其中N倍是训练集的大小),这导致了所谓的“漏掉一个”验证(只有一个测试点!),这高估了模型的质量。您应该尝试10倍,您的准确度仅为1-error。

谢谢@lejlot,但我恐怕不明白您的意思。1.培训数据不使用交叉验证?(不对吗?)2。我不明白你回答的第二部分-我不知道如何决定使用多少倍,为什么它高估了模型的质量,以及什么是1-错误。。。我真的很抱歉。。。如果你能再解释一下,我会非常感激的。非常感谢你!培训数据是顾名思义用于培训的数据。交叉验证将您的数据分为培训和测试,而培训阶段从未见过前者。你写了“训练准确性”——这是错误的,不是关于使用简历数据的句子。训练准确度不是用CV来衡量的。“1-误差”是指“从1中减去误差值,即可获得精度”。最后,去掉“高估”一词,因为它返回的准确度比它应该的要高得多。“合理”的折叠次数是10次(在这种情况下经常使用)。。。现在我让你更好了@lejlot,谢谢,但是-IMHO,我认为交叉验证是用于培训阶段的测试目的,不是吗?至于你所说的使用10倍,我同意,但不使用一倍,估计是(我认为)svmlight允许的唯一交叉验证形式。你仍然在混淆术语。“训练错误”不是“训练阶段计算的错误”,而是“训练集上的错误”。这与验证集上基于cv的错误估计完全不同。如果我错过了,很抱歉,但是如何使用svmlight指定训练集中遗漏交叉验证的折叠数-x可以是0或1,那么还有其他参数吗?谢谢@lejlot,但恐怕我不明白你的意思。1.培训数据不使用交叉验证?(不对吗?)2。我不明白你回答的第二部分-我不知道如何决定使用多少倍,为什么它高估了模型的质量,以及什么是1-错误。。。我真的很抱歉。。。如果你能再解释一下,我会非常感激的。非常感谢你!培训数据是顾名思义用于培训的数据。交叉验证将您的数据分为培训和测试,而培训阶段从未见过前者。你写了“训练准确性”——这是错误的,不是关于使用简历数据的句子。训练准确度不是用CV来衡量的。“1-误差”是指“从1中减去误差值,即可获得精度”。最后,去掉“高估”一词,因为它返回的准确度比它应该的要高得多。“合理”的折叠次数是10次(在这种情况下经常使用)。。。现在我让你更好了@lejlot,谢谢,但是-IMHO,我认为交叉验证是用于培训阶段的测试目的,不是吗?至于你所说的使用10倍,我同意,但不使用一倍,估计是(我认为)svmlight允许的唯一交叉验证形式。你仍然在混淆术语。“训练错误”不是“错误计算”