【转】对random_state参数的理解
转自: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参数的理解相关推荐
- 机器学习中的random_state参数
作用:控制随机状态. 原因:为什么需要用到这样一个参数random_state(随机状态)? 在此先简单罗列三种情况: 1.在构建模型时: forest = RandomForestClassifie ...
- 机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数?
机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数? 目录 机器学习模型如何获得可重复的结果?最佳实践是什么?如何处理random_state参数? #random ...
- ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解
转自 ArcEngine中IFeatureClass.Search(filter, Recycling)方法中Recycling参数的理解 ArcGIS Engine中总调用IFeatureClass ...
- 谈谈对python的理解_浅谈对python pandas中 inplace 参数的理解
这篇文章主要介绍了对python pandas中 inplace 参数的理解,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 pandas 中 inplace 参数在很多函数中都会有, ...
- uboot加载linux内核加载那些内容,uBoot和Linux内核中涉及到的几个地址参数的理解...
uBoot和Linux内核中涉及到的几个地址参数的理解 ************************************************* arch/arm/Makefile //内核 ...
- 相机的针孔模型及其内参数,外参数的理解
相机的针孔模型及其内参数,外参数的理解 2019.10.18 FesianXu 文章目录 @[toc] 前言 相机的针孔模型 坐标系的改变 考虑更多因素 总结 更新说明 Reference 前言 在相 ...
- 回答“关于用python做机器学习工作中的random_state参数到底是个什么意思”
我们在用python做机器学习的交叉验证工作时,常会遇到random_state参数,比如函数: KFold(n_splits=5, shuffle=False, random_state=None) ...
- sklearn模型中random_state参数的意义
sklearn模型中random_state参数的意义 random_state 意义 使用情况 random_state 意义 例如:在sklearn可以随机分割训练集和测试集(交叉验证),只需要在 ...
- 【总结】python sklearn模型中random_state参数的意义
一.前言 在学习机器学习的过程中,常常遇到random_state这个参数,并且好多时候都是 random_state=42,感觉挺有意思的,于是,百度一下,然后做一个总结. 作用:控制随机状态. 问 ...
最新文章
- ubuntu18.04.4 安装 dlib (解决 Running setup.py install for dlib ... error错误)
- python---简单的接口测试实例
- Linux永久挂载新的硬盘
- GRUNT----JSHINT
- SaaS风暴:中国软件企业如何应对挑战?
- 性能测试的目的与类型
- jqgrid mysql 分页_jQgrid 分页显示
- 嵌入式Linux驱动学习之路(十五)按键驱动-定时器防抖
- IO、NIO、AIO
- 跨过虚拟化技术浪潮,这家企业快步入局云数据管理​
- xgp游戏列表_Steam疯狂周三游戏推荐:动物百科全书
- 《深度学习要领》端到端的深度学习技术
- mysql case when sum count_SQL语句为什么在这种case when情况下要用sum而不是count
- 精通JavaScript DOM事件
- linux终端设置为管理员权限,ubuntu 中的管理员权限
- FAN6921MRMY 带多种保护功能 电流模式PWM控制 功率因数校正 (PFC) 控制器
- win10电脑部分软件不能连接网络,只有QQ和微信可以连接网络,浏览器不能上网
- 电脑 桌面图标上多了一个白色的文档图标 怎么去掉?
- 微信小程序【获取用户昵称头像和昵称(附源码)】
- 《HelloGitHub》第 48 期