在使用SVM时,我发现在原始数据集上执行三向分割是一种很好的做法,例如70/15/15分割。
此分割对应于培训的%70,测试的%15和所谓的“验证”的%15。
我很清楚为什么这是一个很好的做法,但我不确定实际执行此操作所需的细节。很多在线资源都在讨论重要性,但我似乎无法找到对该过程的明确(或至少是算法)描述。例如,sklearn讨论它here但在提供任何可靠工具之前就停止了。
这是我的想法:
如果有人能指出我的资源方向,我将不胜感激。
答案 0 :(得分:1)
验证集在所有监督学习算法中的作用是找到算法参数的优化(如果有的话)。
将数据拆分为traing / validation / test数据后,训练算法的最佳做法是:
有一些高级方法可用于执行交叉验证测试。像libsvm这样的一些库包括它们: k-fold交叉验证。
在k-fold交叉验证中,您将列车数据随机分成k个相同大小的部分。您使用k-1部分训练并与剩余部分交叉验证。你用不同的子集做k次,最后用平均值。
维基百科是一个很好的来源: