交叉验证(Cross-Validation)是一种评估机器学习模型性能的方法,通过将数据集分成训练集和验证集来进行多次训练和测试。它有助于更准确地估计模型在未见过数据上的性能,并避免对单一验证集的过度拟合。
常见的交叉验证方法包括K折交叉验证和留一交叉验证。其中,K折交叉验证将数据集分成K个子集,依次将每个子集作为验证集,其余作为训练集,重复K次;留一交叉验证是K折交叉验证的特例,其中K等于数据集大小。交叉验证的结果通常是各次验证的平均性能。
以下是一个使用Python实现K折交叉验证的示例代码:
1 | from sklearn.datasets import load_iris |
在上述代码中,我们使用load_iris
函数加载鸢尾花数据集,并创建了一个线性SVM分类器。然后,使用cross_val_score
函数进行5折交叉验证,得到每次验证的性能分数。最后,我们打印出各次分数和平均分数。
通过交叉验证,可以更准确地估计模型的性能,并对模型进行调参。