通常,您可以将数据分成3组。
我很难掌握如何使用交叉验证进行超参数调整和评估的标准方法。我尝试做10折简历。以下哪项是正确的方法?
所有数据都用于参数调整(例如,使用带有交叉验证的随机网格搜索)。这将返回最佳超参数。然后,使用这些超参数构造一个new模型,并可以通过进行交叉验证来评估该模型(用于训练的九折,用于测试的九折,最后将诸如准确性或混淆矩阵之类的度量平均)。] >
我发现的另一种方法是先将数据分为训练和测试集,然后仅对训练集执行交叉验证。然后将使用测试集进行评估。但是,据我了解,这将破坏交叉验证的整个概念,因为其背后的思想是独立于拆分,对吧?
最后,我的主管告诉我,我将使用八折进行训练,其中一项用于超参数估计,而另一项用于测试(因此进行评估)。但是,我找不到使用这种方法的任何材料。这是一个标准程序,还是我刚刚在那儿理解不对?
我很难掌握如何使用交叉验证进行超参数调整和评估的标准方法。我尝试做10折简历。以下哪项是正确的方法?所有...
通常,您可以将数据分成3组。
测试集:测试集是最容易解释的测试集。创建测试集后(数据的15-30%)。您可以将此数据集存储在某个位置,并且在您认为完成之前不要再触摸该数据集。-原因很简单,一旦您开始关注此数据集(例如增加AUC或...),那么您就开始过度拟合数据...
验证集(+/-)也相同。当您对参数等进行超调时,您将开始专注于此集合……这意味着您不再在泛化了。 (一个好的模型应该适用于所有数据,而不仅适用于测试和验证集)。
话虽如此,现在您只设置了培训和验证。
交叉验证:使用交叉验证的某些动机是为了更好地泛化和查看您的模型/数据(想象一下,某些特殊情况仅存在于验证集中,等等。+您不会将单个决定视为理所当然。 。-的主要缺点10倍交叉验证是...需要10倍的时间才能完成... ...但它为您提供了更值得信赖的结果...(例如,如果您进行10倍交叉验证并且您的AUC在80 85 75 77 81 65之间波动...->那么您可能会有一些数据问题...在理想情况下,AUC之间的差异应该很小...
尽管如此……我会做什么(这也取决于您的资源,模型,时间,数据集大小)
通常,您可以将数据分成3组。