转自:https://blog.csdn.net/az9996/article/details/86616668


在学习机器学习的过程中,常常遇到random_state这个参数,下面来简单叙述一下它的作用。
作用:控制随机状态。

原因:为什么需要用到这样一个参数random_state(随机状态)?

在此先简单罗列三种情况:
1、在构建模型时:

forest = RandomForestClassifier(n_estimators=100, random_state=0)
forest.fit(X_train, y_train)

2、在生成数据集时:

X, y = make_moons(n_samples=100, noise=0.25, random_state=3)

3、在拆分数据集为训练集、测试集时:

X_train, X_test, y_train, y_test = train_test_split(
cancer.data, cancer.target, stratify=cancer.target, random_state=42)

如果不设置random_state的话会怎样?
例如1中,每次构建的模型是不同的。
例如2中,每次生成的数据集是不同的。
例如3中,每次拆分出的训练集、测试集是不同的。

之所以会这样,是因为模型的构建、数据集的生成、数据集的拆分都是一个随机的过程。

如果你希望结果可以重现,固定random_state是非常重要的。

对于随机森林这个模型,它本质上是随机的,设置不同的随机状态(或者不设置random_state参数)可以彻底改变构建的模型。
对于数据集的生成,它本质上也是随机的,设置不同的随机状态(或者不设置random_state参数)可以彻底改变生成的数据集。
对于数据集的拆分,它本质上也是随机的,设置不同的随机状态(或者不设置random_state参数)可以彻底改变拆分的结果。

固定random_state后,每次构建的模型是相同的、生成的数据集是相同的、每次的拆分结果也是相同的。

总结:对于那些本质上是随机的过程,我们有必要控制随机的状态,这样才能重复的展现相同的结果。
如果,对随机状态不加控制,那么实验的结果就无法固定,而是随机的显现。

修改(2019年3月9日17:44:06)

比喻的说一下,也不知道准不准确。
一个容器中放置一定量的沙子,每次用手去抓沙子的时候,抓取的结果会受到抓取的力度、一只手抓还是两只手抓、手是干的或湿的等诸多因素的影响(将影响因素定为A={a,b,c,d,e,f,……})。

固定random_state后,每次抓取沙子时的影响因素将被固定为具体的某一组,这样每次抓取的沙子就具有了相同的状态。

转载于:https://www.cnblogs.com/xianhan/p/10644873.html

【转】对random_state参数的理解相关推荐

  1. 机器学习中的random_state参数

    作用:控制随机状态. 原因:为什么需要用到这样一个参数random_state(随机状态)? 在此先简单罗列三种情况: 1.在构建模型时: forest = RandomForestClassifie ...

  2. 机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数?

    机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数? 目录 机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数? #random ...

  3. ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解

    转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解 ArcGIS Engine中总调用IFeatureClass ...

  4. 谈谈对python的理解_浅谈对python pandas中 inplace 参数的理解

    这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有, ...

  5. uboot加载linux内核加载那些内容,uBoot和Linux内核中涉及到的几个地址参数的理解...

    uBoot和Linux内核中涉及到的几个地址参数的理解 ************************************************* arch/arm/Makefile //内核 ...

  6. 相机的针孔模型及其内参数,外参数的理解

    相机的针孔模型及其内参数,外参数的理解 2019.10.18 FesianXu 文章目录 @[toc] 前言 相机的针孔模型 坐标系的改变 考虑更多因素 总结 更新说明 Reference 前言 在相 ...

  7. 回答“关于用python做机器学习工作中的random_state参数到底是个什么意思”

    我们在用python做机器学习的交叉验证工作时,常会遇到random_state参数,比如函数: KFold(n_splits=5, shuffle=False, random_state=None) ...

  8. sklearn模型中random_state参数的意义

    sklearn模型中random_state参数的意义 random_state 意义 使用情况 random_state 意义 例如:在sklearn可以随机分割训练集和测试集(交叉验证),只需要在 ...

  9. 【总结】python sklearn模型中random_state参数的意义

    一.前言 在学习机器学习的过程中,常常遇到random_state这个参数,并且好多时候都是 random_state=42,感觉挺有意思的,于是,百度一下,然后做一个总结. 作用:控制随机状态. 问 ...

最新文章

  1. ubuntu18.04.4 安装 dlib (解决 Running setup.py install for dlib ... error错误)
  2. python---简单的接口测试实例
  3. Linux永久挂载新的硬盘
  4. GRUNT----JSHINT
  5. SaaS风暴:中国软件企业如何应对挑战?
  6. 性能测试的目的与类型
  7. jqgrid mysql 分页_jQgrid 分页显示
  8. 嵌入式Linux驱动学习之路(十五)按键驱动-定时器防抖
  9. IO、NIO、AIO
  10. 跨过虚拟化技术浪潮,这家企业快步入局云数据管理​
  11. xgp游戏列表_Steam疯狂周三游戏推荐:动物百科全书
  12. 《深度学习要领》端到端的深度学习技术
  13. mysql case when sum count_SQL语句为什么在这种case when情况下要用sum而不是count
  14. 精通JavaScript DOM事件
  15. linux终端设置为管理员权限,ubuntu 中的管理员权限
  16. FAN6921MRMY 带多种保护功能 电流模式PWM控制 功率因数校正 (PFC) 控制器
  17. win10电脑部分软件不能连接网络,只有QQ和微信可以连接网络,浏览器不能上网
  18. 电脑 桌面图标上多了一个白色的文档图标 怎么去掉?
  19. 微信小程序【获取用户昵称头像和昵称(附源码)】
  20. 《HelloGitHub》第 48 期

热门文章

  1. STM32F103C8开发板原理图和管脚图
  2. CoreCRM 开发实录 —— Profile
  3. nginx基于IP的虚拟主机
  4. 【原创】多台电脑如何公用一个键盘鼠标进行操作 - Mouse with Borders 软件
  5. Web性能优化实践——应用层性能优化
  6. spacemacs各种问题修复方法
  7. php使用curl可以get 模拟post
  8. .NET2.0隐形的翅膀,正则表达式搜魂者【月儿原创】
  9. 据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?
  10. Go在Ubuntu 14.04 64位上的安装过程