Python机器学习:6.5 通过嵌套交叉验证选择算法

结合k折交叉验证和网格搜索是调参的好手段。可是如果我们想从茫茫算法中选择最合适的算法,用什么方法呢?这就是本节要介绍的嵌套交叉验证(nested cross validation)。 Varma和Simon在论文Bias in Error Estimation When Using Cross-validation for Model Selection中指出使用嵌套交叉验证得到的测试集误差几乎就是真实误差。

+

嵌套交叉验证外层有一个k折交叉验证将数据分为训练集和测试集。还有一个内部交叉验证用于选择模型算法。下图演示了一个5折外层交叉沿则和2折内部交叉验证组成的嵌套交叉验证,也被称为5*2交叉验证:

Python机器学习:6.5 通过嵌套交叉验证选择算法_第1张图片

sklearn中可以如下使用嵌套交叉验证:

Python机器学习:6.5 通过嵌套交叉验证选择算法_第2张图片

我们使用嵌套交叉验证比较SVm和决策树分类器:

Python机器学习:6.5 通过嵌套交叉验证选择算法_第3张图片

Python机器学习中文版目录(http://www.aibbt.com/a/20787.html)

转载请注明出处,Python机器学习(http://www.aibbt.com/a/pythonmachinelearning/)

转载于:https://www.cnblogs.com/aibbtcom/p/8548484.html

你可能感兴趣的:(Python机器学习:6.5 通过嵌套交叉验证选择算法)