留出法K折交叉验证留一法进行数据集划分

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了留出法K折交叉验证留一法进行数据集划分相关的知识,希望对你有一定的参考价值。

from sklearn import datasets
from sklearn import model_selection

#引入sklearn库中手写数字的数据集
digits = datasets.load_digits()

#留出法
X_train, X_test, y_train, y_test = model_selection.train_test_split(digits.data, digits.target, test_size = 0.2, shuffle = True)

#K折交叉验证
#设置K为5
kf = model_selection.KFold(n_splits=5)
#使用5折交叉验验证划分数据集,返回一个生成器对象(即索引)
digits_gen = kf.split(digits.data)
for train_idx, test_idx in digits_gen:
        X_train = digits.data[train_idx] #训练集
        X_test = digits.data[test_idx] #测试集
        y_train = digits.target[train_idx] #训练集标签
        y_test = digits.target[test_idx] #测试及标签

#留一法交叉验证
loo = model_selection.LeaveOneOut()
digits_gen = loo.split(digits.data)
for train_idx, test_idx in digits_gen:
        X_train = digits_gen[train_idx]
        X_test = digits_gen[test_idx]
        y_train = digits_gen[train_idx]
        y_test = digits_gen[test_idx]

以上是关于留出法K折交叉验证留一法进行数据集划分的主要内容,如果未能解决你的问题,请参考以下文章

留一法交叉验证 Leave-One-Out Cross Validation

留一法交叉验证 Leave-One-Out Cross Validation

交叉验证、留一交叉验证、自助法

0-4 统计建模划分训练/验证/测试集的几种方法

交叉验证iris数据集

交叉验证iris数据集