一、 StratifiedKFlod与KFlod主要区别

StratifiedKFlod:分层采样,训练集与测试集中各类别样本的比列与原始数据中相同;(分类问题)
KFlod:分层采样,将数据分成训练集和测试集,不考虑训练集与测试集中各类别数据是否相同;(回归问题)

from sklearn.model_selection import KFold,StratifiedKFold

KFold(n_split, shuffle, random_state)
参数:
n_splits:表示将数据划分几等份
shuffle:在每次划分时,是否进行洗牌
若为False,其效果相当于random_state为整数(含零),每次划分的结果相同
若为True,每次划分的结果不一样,表示经过洗牌,随机取样的
random_state:随机种子数,当设定值(一般为0)后可方便调参,因为每次生成的数据集相同

stratifiedKFold(n_split, shuffle, random_state)
参数:
n_splits:表示将数据划分几等份
shuffle:在每次划分时,是否进行洗牌
若为False,其效果相当于random_state为整数(含零),每次划分的结果相同
若为True,每次划分的结果不一样,表示经过洗牌,随机取样的
random_state:随机种子数,当设定值(一般为0)后可方便调参,因为每次生成的数据集相同

二、 StratifiedKFlod与KFlod区别案列

import numpy as np
from sklearn.model_selection import KFold,StratifiedKFold
X=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])KFold = KFold(n_splits=4,shuffle=True,random_state=2021)
StratifiedKFold = StratifiedKFold(n_splits=4,shuffle=True,random_state=2021)
print('---------------------KFlod---------------------------')
for train, test in KFold.split(X,y):print('Train: %s | test: %s' % (train, test))print('训练集标签类型情况: %s' % y[train])print('测试集标签类型情况: %s' % y[test])
print('----------------StratifiedKFold----------------------')
for train, test in StratifiedKFold.split(X,y):print('Train: %s | test: %s' % (train, test))print('训练集标签类型情况: %s' % y[train])print('测试集标签类型情况: %s' % y[test])# 输入结果如下
'''
---------------------KFlod---------------------------
Train: [0 1 2 4 5 6] | test: [3 7]
训练集标签类型情况: [1 1 0 1 1 0]
测试集标签类型情况: [0 0]
Train: [0 1 3 4 5 7] | test: [2 6]
训练集标签类型情况: [1 1 0 1 1 0]
测试集标签类型情况: [0 0]
Train: [2 3 4 5 6 7] | test: [0 1]
训练集标签类型情况: [0 0 1 1 0 0]
测试集标签类型情况: [1 1]
Train: [0 1 2 3 6 7] | test: [4 5]
训练集标签类型情况: [1 1 0 0 0 0]
测试集标签类型情况: [1 1]
----------------StratifiedKFold----------------------
Train: [0 1 2 3 4 6] | test: [5 7]
训练集标签类型情况: [1 1 0 0 1 0]
测试集标签类型情况: [1 0]
Train: [0 1 2 3 5 7] | test: [4 6]
训练集标签类型情况: [1 1 0 0 1 0]
测试集标签类型情况: [1 0]
Train: [0 3 4 5 6 7] | test: [1 2]
训练集标签类型情况: [1 0 1 1 0 0]
测试集标签类型情况: [1 0]
Train: [1 2 4 5 6 7] | test: [0 3]
训练集标签类型情况: [1 0 1 1 0 0]
测试集标签类型情况: [1 0]
'''



总结
KFlod 适用于用户回归类型数据划分
stratifiedKFlod 适用于分类数据划分

参考:
https://blog.csdn.net/qq_34107425/article/details/105548800
https://blog.csdn.net/wqh_jingsong/article/details/77896449

StratifiedKFold(分类)和Kfold(回归)的区别相关推荐

  1. 分类(classification)是认知的基础、分类步骤及主要算法、分类与回归的区别、分类过程

    分类(classification)是认知的基础.分类步骤及主要算法.分类与回归的区别.分类过程 目录

  2. 分类和回归的区别和联系

    先简单的说下吧,下面给出实际例子 类和回归的区别在于输出变量的类型. 定量输出称为回归,或者说是连续变量预测: 定性输出称为分类,或者说是离散变量预测. 举个例子: 预测明天的气温是多少度,这是一个回 ...

  3. 树模型与线性模型的区别 决策树分类和逻辑回归分类的区别 【总结】

    树模型与线性模型的区别在于: (一)树模型 ①树模型产生可视化的分类规则,可以通过图表表达简单直观,逐个特征进行处理,更加接近人的决策方式   ②产生的模型可以抽取规则易于理解,即解释性比线性模型强. ...

  4. 监督分类空白处也被分类了_监督学习(2)|本质是分类的“逻辑回归”

    引言 机器学习,绕不开预测问题,预测绕不开回归和分类.本篇介绍最常用的二分类算法:逻辑回归(Logistics Regression),当然随着算法的发展,它也可用于多分类问题.每一个算法都是许许多多 ...

  5. 机器学习中分类与聚类的本质区别

    机器学习中分类与聚类的本质区别 机器学习中有两类的大问题,一个是分类,一个是聚类. 在我们的生活中,我们常常没有过多的去区分这两个概念,觉得聚类就是分类,分类也差不多就是聚类,下面,我们就具体来研究下 ...

  6. 逻辑回归二分类算法python_机器学习第七周--二分类算法逻辑回归

    一.Logistic分类算法 逻辑回归(Logistic Regression, LR)是传统机器学习中的一种分类模型,由于算法的简单和高效,解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR ...

  7. 决策树(分类树、回归树)

    决策树 前言:第一篇博客,最近看完决策树,想着归纳一下,也方便自己以后回顾.写的会比较全面一些,可能会有很多不太正确的地方,欢迎大家交流指正 : ) 决策树模型: 决策树模型是运用于分类以及回归的一种 ...

  8. SVM与Logistic回归的区别

    SVM与Logistic回归的区别 1.相同点 1.1 都是分类算法 1.2 如果不考虑核函数,LR和SVM都是线性分类算法 1.3 LR和SVM都是监督学习算法. 1.4 LR和SVM都是判别模型. ...

  9. 分类模型——Softmax回归

    分类模型--Softmax回归 第一章 机器学习是什么 第二章 深度学习是什么 第三章 前馈神经网络 第四章 卷积神经网络 第五章 交叉熵函数 文章目录 分类模型--Softmax回归 前言 Soft ...

  10. 『迷你教程』绝对能看懂的分类问题和回归问题白话版

    文章目录 内容介绍 函数近似 分类预测建模 回归预测建模 分类与回归 在分类和回归问题之间转换 内容介绍 老生常谈的话题分类问题和回归问题之间有一个重要的区别.从根本上说,分类是关于预测标签,回归是关 ...

最新文章

  1. 《AI新基建发展白皮书》:依托人工智能实现外部赋能
  2. 为什么linux中c语言不一样,不懂linux为什么要死守c语言。
  3. 正则表达式的比较JDK1.4 vs jakarta
  4. Linux监听进程是否存在,并加入定时任务
  5. 浅谈C++函数的参数
  6. 前端学习(481):html得编码问题
  7. 同步关键词synchronized
  8. [转载]关于Microsoft Jet (msjet40.dll) Exploit
  9. pandas系列 read_csv 与 to_csv 方法各参数详解(全,中文版)
  10. 对设计领域中Tile和Card的理解
  11. Spark Architecture
  12. java使用document解析xml文件
  13. oracle替换字符串replace
  14. 取消全部呼叫转移代码_中国移动的卡取消呼叫转移的快捷方式是什么?
  15. 168. Excel表列名称
  16. 立创开源 | 恒温加热台
  17. Flume或Kafka和Elasticsearch整合
  18. 2017年终总结,2018首次送书!
  19. django 改端口_django更改默认的runserver端口
  20. 在线预览doc,docx文档

热门文章

  1. 一文搞懂JSON.stringify和JSON.parse(五)JSON.parse使用说明
  2. 《Semantically Conditioned Dialog Response Generation via Hierarchical Disentangled Self-Attention》
  3. 服务器运行数据库失败,无法在服务器上打开 Access 数据库 | Microsoft Docs
  4. 开放windows服务器端口(以打开端口8080为例)
  5. [附源码]SSM计算机毕业设计校园摄影爱好者交流网站JAVA
  6. 同济大学博士/硕士学位论文LaTex模板的软件安装与环境配置
  7. Dokcer 桥接模式原理解析
  8. 技术赋能-混流编排功能,助力京东618直播重保 | 京东云技术团队
  9. 力扣每日一题21.08.02网络延迟时间
  10. 稀疏表示求解:OMP(The Orthogonal Matching Pursuit Algorithm)