k折交叉验证

来源:互联网 发布:sql 日期排序 编辑:程序博客网 时间:2024/04/20 06:23

在做机器学习这方面研究的时候,例如PCR和PLS等算法时常会遇到最佳潜变量的选取,神经元个数的选取;这些参数的选取对模型的质量产生极大的影响。如果人为选取,这样是十分不可靠的也是不现实的。进行交叉验证是一个优秀模型形成必不可少的过程


交叉验证的目的是为了得到更为稳健可靠的模型。

交叉验证的方法有许多种,但是最常用的是:<1>留一交叉验证<2>k折交叉验证

今天说一下何谓k折交叉验证(k-fold cross Validation)

K折交叉验证,将初始采样(样本集X,Y)分割成K份,一份被保留作为验证模型的数据(test set),其他K-1份用来训练(train set)。交叉验证重复K次,每验证一次,平均K次的结果或者使用其它结合方式,最终得到一个单一估测。这个方法的优势在于,同时重复运用随机产生的子样本进行训练和验证,每次的结果验证一次,10折交叉验证是最常用的。(切记每次作为验证模型的数据是不同的)。

下面是如何用Python代码实现将样本分成k份且输出:


其输出结果如下:






0 0
原创粉丝点击