• 将全部训练集S分成k个不相交的子集,假设S中的训练样例个数为m,那么每一个自己有m/k个训练样例,相应的子集为{s1,s2,...,sk}
  • 每次从分好的子集里面,拿出一个作为测试集,其他k-1个作为训练集
  • 在k-1个训练集上训练出学习器模型,把这个模型放到测试集上,得到分类率的平均值,作为该模型或者假设函数的真实分类率

StratifiedKFold用法类似Kfold,但是他是分层采样,确保训练集,测试集中各类别样本的比例与原始数据集中相同

Parameters

  • n_splits : int, default=3

Number of folds. Must be at least 2.

  • shuffle : boolean, optional

Whether to shuffle each stratification of the data before splitting into batches.

  • random_state :

int, RandomState instance or None, optional, default=None

If int, random_state is the seed used by the random number generatorIf RandomState instance, random_state is the random number generator;

If None, the random number generator is the RandomState instance used

by `np.random`. Used when ``shuffle`` == True.

import numpy as np
from sklearn.model_selection import KFold,StratifiedKFoldX=np.array([[1,2,3,4],[11,12,13,14],[21,22,23,24],[31,32,33,34],[41,42,43,44],[51,52,53,54],[61,62,63,64],[71,72,73,74]
])y=np.array([1,1,0,0,1,1,0,0])sfolder=StratifiedKFold(n_splits=4,random_state=0,shuffle=False)
floder = KFold(n_splits=4,random_state=0,shuffle=False)for train, test in sfolder.split(X,y):print('Train: %s | test: %s' % (train, test))print(" ")for train, test in floder.split(X,y):print('Train: %s | test: %s' % (train, test))print(" ") 

StratifiedKFold                                                                             KFold

StratifiedKFold 和 KFold 的比较相关推荐

  1. scikit中StratifiedKFold和KFold区别,以及split方法

    scikit中StratifiedKFold和KFold区别,以及split方法 测试代码: # -*- coding: utf-8 -*- import numpy as np from sklea ...

  2. K折交叉验证(StratifiedKFold与KFold比较)

    文章目录 一.交叉验证 二.K折交叉验证 KFold()方法 StratifiedKFold()方法 一.交叉验证 交叉验证的基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训 ...

  3. StratifiedKFold()与KFold()比较

    一.KFold() 先看代码示例: import numpy as np from sklearn.model_selection import KFold X=np.array([[1,2],[3, ...

  4. StratifiedKFold和KFold(5折验证)交叉验证的联系和区别Python实例

    Kfold: 将全部训练集分成k个不相交的子集,假设训练集的训练样例个数为m,那么每一个子集有m/k个训练样例,比如[1,2,3,4,5,6]分成两份,则第一份可能为[1,3,5],第二份[2,4,6 ...

  5. KFold、StratifiedKFold、GroupKFold的区别

    一.问题来源: 在kaggle代码中第一次看到GroupKFold,不太清楚和KFold的区别,所以才想着去搞清楚这个问题 二.KFold >>> import numpy as n ...

  6. sklearn.model_selection.StratifiedKFold

    sklearn.model_selection.StratifiedKFold class sklearn.model_selection.StratifiedKFold(n_splits=5, *, ...

  7. sklearn.KFold

    简介 K折交叉验证:将样本切成K份,每次取其中一份做为测试集,剩余的K-1份做为训练集.根据训练训练出模型或者假设函数. 把这个模型放到测试集上,得到分类率.计算k次求得的分类率的平均值,作为该模型或 ...

  8. 分隔百度百科中的名人信息与非名人信息

    导入python包 import pandas as pd from pandas import Series, DataFrame 导入非名人数据 notCelebrity=[] for each ...

  9. 机器学习中的交叉验证

    总第100篇 本篇讲讲机器学习中的交叉验证问题,并利用sklearn实现. 前言 在说交叉验证以前,我们先想一下我们在搭建模型时的关于数据切分的常规做法[直接利用train_test_split把所有 ...

最新文章

  1. edge chrome 浏览器 底色调黑 反色
  2. 【狼】unity3d point light 个数限制更改
  3. Shell中判断字符串是否为数字的6种方法分享
  4. js中同时得到整数商及余数_js和vue实现时分秒倒计时的方法
  5. 时永方:做到这三点,你就是多媒体内行了
  6. 数据结构与算法之Manacher算法
  7. [转]Win7 系统安装VS2008没反应 点击安装一闪就没有反应 .
  8. 剑指offer之使数组的奇数在偶数前面
  9. 在线考试系统源码 在线教育源码
  10. 利用SMB协议共享电脑文件,发挥ipad生产力
  11. opencv给视频加字幕加炫光
  12. 百度地图 截图java_我从百度地图静态图API中通过url获取到的图片,用java有没有什么办法可以把图片上的百度logo去掉呢...
  13. C. Dominant Piranha(思维)
  14. 从辣条国家标准到 java 接口规范
  15. java(spring boot)通过exchange邮箱发送邮件
  16. 百变北京门头沟大觉寺养生温泉2日自驾游(可延住)
  17. list里每个元素字符串转为int;‘list‘ object is not callable;list中字符串改为int;字符串转为list;list每个int转为str;list转为字符串;
  18. Word处理控件Aspose.Words功能演示:使用 C# 将 Word 文档转换为 Markdown
  19. Ubuntu12.04 设置1080P分辨率
  20. 超全生活/娱乐UI模板素材网站整理

热门文章

  1. python中fillna_Python pandas.DataFrame.fillna函数方法的使用
  2. 安图恩频道一直连接服务器,DNF里最让大家不爽的事,安图恩频道什么时候能换服务器...
  3. 输入一个秒数,转化成时分秒
  4. 继原创保护功能开通之后,又开通赞赏功能
  5. 云开发AI视频换脸微信小程序源码+AI工具箱
  6. 2021-2025年中国便携式键盘行业市场供需与战略研究报告
  7. 老闪创业那些事儿(51)——廉政负责人到岗(上)
  8. Sybase的客户端工具
  9. Debian 64位安装osdlyrics显示歌词
  10. 如约而至 拼多多发布2022“众声创作者计划”冬日书单