交叉验证是一种评估受监督的学习模型的性能的技术,它有助于确保模型通过将数据集分割成多个子集来进行培训和测试来很好地概括到看不见的数据。 正确实施交叉验证可以提高模型评价的可靠性。

理解交叉差异

交叉验证涉及将数据集分为多个部分,或者折叠。该模型被训练在这些折叠的子集上,并在剩余折叠上测试。这一过程重复多次,每次测试时使用不同的折叠。然后,结果平均以提供一个总体性能度量。

交叉变量类型

最常见的类型包括:

  • k-fold 交叉变换:将数据分割为k等元部件,k-1部件的训练以及剩余部分的测试.
  • 分级的k-fold:[]确保每个折叠保持整个数据集的类分布.
  • leave-One-Out(LOO): 使用单一数据点进行测试,其余用于培训,每个数据点重复使用.

在实践中实施交叉定性

大多数机器学习库都为交叉验证提供内置函数。例如,在Python的 scikit-learn 中, 函数简化了进程。您需要指定模型、数据集和折叠数。

示例代码片段 :

从sclearn.model selection 导入 cross val score

分数=交叉 val score(型号,X,y,cv=5) ]

此代码执行5倍的交叉验证,并返回每个折叠的分数.