K折交叉验证:sklearn.model_selection.KFold(n_splits=n, shuffle=False, random_state=None)
思路:将训练/测试数据集划分为n个互斥子集,每次用其中一个子集当作验证集,剩下的n-1个作为训练集,进行n次训练和测试,得到n个结果
注:对于不能均等份的数据集,其前n_samples % n子集拥有int(n_samples / n)+ 1个样本,其余子集都只有int(n_samples / n)样本
参数说明:
n_splits:表示划分几等份
shuffle:在每次划分时,是否进行洗牌(默认为False)
①若为Falses时,其效果等同于random_state等于整数,每次划分的结果相同
②若为True时,每次划分的结果都不一样,表示经过洗牌,随机取样的
random_state:随机种子数
属性:
①get_n_splits(X=None, y=None, groups=None):获取参数n_splits的值
②split(X, y=None, groups=None):将数据集划分成训练集和测试集,返回索引生成器
实例:
①设置shuffle=False,运行两次结果相同
from sklearn.model_selection import KFold
import numpy as np

K折交叉验证是一种评估机器学习模型的方法,通过将数据集划分为K个互斥部分,进行K次训练和测试。在Python中,可以使用sklearn.model_selection.KFold实现这一过程。主要参数包括n_splits表示分割份数,shuffle控制是否洗牌,random_state设定随机种子。通过get_n_splits方法可获取n_splits的值,split方法用于实际划分数据。根据shuffle和random_state的设置,运行结果可能会有所不同。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



