留出法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