random_state在train_test_split和分类器中的作用

2023-12-03

基于这个答案:Scikit learn 中的随机状态(伪随机数),如果我使用相同的整数(比如 42)random_state,然后每次进行训练-测试分割时,它应该给出相同的分割(即每次运行期间训练中的数据实例相同,测试时的数据实例相同)

But,

  1. for test_size in test_sizes:
        X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_size, random_state=42)
        clf = SVC(C=penalty, probability=False)
    

    假设我有这样的代码。在这种情况下,我正在更改test_size在每个循环中。它将如何影响什么random_state做?它会打乱所有内容,还是尽可能保持尽可能多的行完整,并根据测试大小将几行从火车转移到测试(反之亦然)?

  2. Also, random_state是一些分类器的参数,例如sklearn.svm.SVC and sklearn.tree.DecisionTreeClassifier。我有这样的代码:

    clf = tree.DecisionTreeClassifier(random_state=0)
    scores = cross_validate(clf, X_train, y_train, cv=cv)
    cross_val_test_score = round(scores['test_score'].mean(), prec)
    clf.fit(X_train, y_train)
    

    什么是random_state到底在这里做什么?因为它是在定义分类器时使用的。目前尚未提供数据。我从以下得到http://scikit-learn.org/stable/modules/ generated/sklearn.tree.DecisionTreeClassifier.html:

如果是int,random_state是随机数生成器使用的种子; 如果是RandomState实例,random_state是随机数生成器; 如果 None,则随机数生成器是使用的 RandomState 实例 由 np.random 提供。

  1. 假设以下行针对多个测试大小中的每一个执行多次:

    clf = tree.DecisionTreeClassifier(random_state=0)
    

    如果我保留random_state=int(test_size*100),这是否意味着对于每个测试大小,结果都会相同? (对于不同的测试规模,它们会有所不同吗?)

    (Here, tree.DecisionTreeClassifier可以替换为其他也使用的分类器random_state, 例如sklearn.svm.SVC。我假设所有分类器都使用random_state以类似的方式?)


1:由于您正在更改测试大小,因此随机状态不会影响测试大小之间的选定行,而且这也不一定是所需的行为,因为您只是尝试根据各种样本大小获取分数。这是什么will为您做的就是允许您比较使用输入数据的模型,并按相同的随机状态进行分割。从一个循环运行到下一个循环,测试集将完全相同。允许您正确比较相同样本的模型性能。

2:对于决策树分类器等模型,有随机设置的初始化参数。这里的随机状态确保这些参数从一次运行到下一次运行设置完全相同,从而创建可重现的行为。

3:如果测试大小不同,并且将其乘以 100,那么将为每个测试集创建不同的随机状态。但从一次完整运行到下一次完整运行,它将创建可重复的行为。您可以轻松地在那里设置静态值。

并非所有模型都以相同的方式使用随机状态,因为每个模型都有随机设置的不同参数。对于随机森林,它正在选择随机特征。对于神经网络,它正在初始化随机权重......等等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

random_state在train_test_split和分类器中的作用 的相关文章

  • 如何在python中读取多个文件中的文本

    我的文件夹中有许多文本文件 大约有 3000 个文件 每个文件中第 193 行是唯一包含重要信息的行 我如何使用 python 将所有这些文件读入 1 个文本文件 os 模块中有一个名为 list dir 的函数 该函数返回给定目录中所有文
  • 如何在刻度标签和轴之间添加空间

    我已成功增加刻度标签的字体 但现在它们距离轴太近了 我想在刻度标签和轴之间添加一点呼吸空间 如果您不想全局更改间距 通过编辑 rcParams 并且想要更简洁的方法 请尝试以下操作 ax tick params axis both whic
  • 如何使用固定的 pandas 数据框进行动态 matplotlib 绘图?

    我有一个名为的数据框benchmark returns and strategy returns 两者具有相同的时间跨度 我想找到一种方法以漂亮的动画风格绘制数据点 以便它显示逐渐加载的所有点 我知道有一个matplotlib animat
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • 如何打印没有类型的defaultdict变量?

    在下面的代码中 from collections import defaultdict confusion proba dict defaultdict float for i in xrange 10 confusion proba di
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • Python 多处理示例不起作用

    我正在尝试学习如何使用multiprocessing但我无法让它发挥作用 这是代码文档 http docs python org 2 library multiprocessing html from multiprocessing imp
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何使用包含代码的“asyncio.sleep()”进行单元测试?

    我在编写 asyncio sleep 包含的单元测试时遇到问题 我要等待实际的睡眠时间吗 I used freezegun到嘲笑时间 当我尝试使用普通可调用对象运行测试时 这个库非常有用 但我找不到运行包含 asyncio sleep 的测
  • 如何使用 Scrapy 从网站获取所有纯文本?

    我希望在 HTML 呈现后 可以从网站上看到所有文本 我正在使用 Scrapy 框架使用 Python 工作 和xpath body text 我能够获取它 但是带有 HTML 标签 而且我只想要文本 有什么解决办法吗 最简单的选择是ext
  • NameError:名称“urllib”未定义”

    CODE import networkx as net from urllib request import urlopen def read lj friends g name fetch the friend list from Liv
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 从 pygame 获取 numpy 数组

    我想通过 python 访问我的网络摄像头 不幸的是 由于网络摄像头的原因 openCV 无法工作 Pygame camera 使用以下代码就像魅力一样 from pygame import camera display camera in
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 如何使用google colab在jupyter笔记本中显示GIF?

    我正在使用 google colab 想嵌入一个 gif 有谁知道如何做到这一点 我正在使用下面的代码 它并没有在笔记本中为 gif 制作动画 我希望笔记本是交互式的 这样人们就可以看到代码的动画效果 而无需运行它 我发现很多方法在 Goo
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代

随机推荐

  • 使用 Visual Studio 2008 中的设计器将逗号分隔列表作为参数传递给 db2 查询的 IN 子句

    我想将逗号分隔的值列表作为参数传递给我正在使用 Visual Studio 2008 中的设计器 基于我正在经历的一些强类型 DAL 教程 构建的查询 该查询针对 DB2 数据库 这就是我想做的 从客户所在的价格中选择 它工作得很好 我在
  • 调用结果未使用

    在第二条评论的正下方 我收到一条错误 调用 taskForDeleteMethod 的结果未使用 为什么当我在调用后的闭包中使用结果和错误时会出现这种情况 func deleteSession completionHandlerForDel
  • Java 重写私有函数不显示多态行为

    public class Shape final private void print System out println in class Shape public static void main String args Shape
  • 如何知道 onCreateView 函数中哪个选项卡处于活动状态?

    我如何知道我的哪个选项卡处于活动状态 public View onCreateView LayoutInflater inflater ViewGroup容器 Bundle savingInstanceState 函数 以下代码仅适用于首次
  • 调用 SwingWorker.get( ) 时防止 GUI 冻结

    我有一个程序 我正在加载文件 同时显示一个窗口以通知用户正在加载文件 我决定创建一个 FileLoader 类 它是一个 SwingWorker 它实际上处理加载文件 还有一个 ProgressWindow 它实现 PropertyChan
  • Java 砖块碰撞 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我一直在开发一款 Breakout 游戏 除了砖块碰撞之外 几乎所有的事情都完成了 球在墙壁和桨上弹跳得很好 但当它碰到砖块时 它会直接穿过它们 我很确定问题出在主类的 chec
  • RestSharp 忽略响应字符集编码

    我正在使用 RestSharp 版本 105 1 0 NET 4 5 1 对我们自己的 API 进行 REST 调用 此 API 发送带有以下特别感兴趣的标头的响应 Content Type application json Charset
  • 在 Java 中截取屏幕截图(机器人,代码可以工作,但不能与外部全屏应用程序一起使用)

    我使用以下代码来截取屏幕截图 Robot robot new Robot BufferedImage image robot createScreenCapture screenRectangle ImageIO write image p
  • 区分联合表中的行

    我正在使用此 sql 查询从两个不同的表中选择没有匹配列的数据 select from SELECT s shout id s user id s time FROM shouts s union all select v post id
  • Visual Studio 相当于 c++11(或更低版本)中的 gcc __attribute__((unused))?

    我正在尝试编写一个宏 以便在用户需要时使用抑制未使用的变量警告 例如 在派生类中 当您尚未实现整个类时 我知道我可以删除变量名称 但为了明确起见 我更喜欢宏 到目前为止我有这个 ifdef WIN32 define UNUSED x x e
  • 在 VS2013 中使用 VS2008 (v90) C++ 工具集?

    微软文档解释如何在 VS2013 中使用 2010 或 2012 工具集 有谁知道 2008 工具集是否也有向后支持 我正在从 2008 年升级到 2013 年的几个项目 但我的团队领导希望我们最初升级项目文件 但仍以与 2008 年相同的
  • Git svn 变基失败

    I use git svn跟踪 SVN 存储库 当我尝试做一个git svn rebase我收到此错误 Incomplete data Delta source ended unexpectedly 这是一个大型仓库 具有悠久的历史 仅仅获
  • MVC4 Windows 身份验证重定向到帐户/登录

    我正在设置Windows 身份验证在 MVC 4 应用程序中使用视觉工作室2013并使用IIS Express 开发服务器 但是 我被重定向到 Account Login 就好像我正在使用表单身份验证一样 我的 bin 文件夹 或任何地方
  • 在 RECEIVE_BOOT_COMPLETED 上通过广播接收器访问数据库

    当手机完成启动后 我想根据数据库中的小时 分钟 信息自动重新注册一些警报 我尝试使用广播接收器来执行此操作 但它不起作用 当尝试在启动时访问数据库 DB 帮助程序类时 它会崩溃 通过应用程序访问数据库帮助程序类时 它工作正常 这是可能的还是
  • boost::spirit::karma 输出引号内的字符串

    我正在尝试使用 boost spirit karma 转义引号中的字符串 如果它只是一个字符串 则效果很好 但是 对于 std vector 中 boost variant 中的字符串 则不然 只是打印字符串确实有效 但是我不太明白为什么
  • 字符串有隐藏字符,无法验证,

    大约2小时前我问了一个问题 不需要看问题 只是一个参考 使用node js存储图像出现错误 给出的解决方案实际上与我的代码相同 我试图找到我的代码和他的代码之间的差异 看看他做了什么修改才能使其工作 但没有任何修改 所以我想到尝试一下在线I
  • 既然“invoke”已被软弃用,那么替代方案是什么?

    rlang invoke 现已软弃用 purrr invoke 退休了 如今 以编程方式调用带有参数列表的函数的简洁方法是什么 tldr Use exec代替invoke use map2 plus exec代替invoke map 示例i
  • UIImagePickerController 如何隐藏翻转相机按钮?

    有没有办法隐藏 UIImagePickerController 内的翻转相机按钮 谢谢阅读 我最终使用 UIImagePickerController 的自定义子类来解决此 和其他 问题 import SMImagePickerContro
  • 将包含十六进制值的字节数组转换为十进制值

    我正在 c 中进行应用程序 这里我想将包含十六进制值的字节数组转换为十进制值 假设我有一个字节数组为 array 0 0X4E array 1 0X5E array 2 0X75 array 3 0X49 在这里 我想将该十六进制数组转换为
  • random_state在train_test_split和分类器中的作用

    基于这个答案 Scikit learn 中的随机状态 伪随机数 如果我使用相同的整数 比如 42 random state 然后每次进行训练 测试分割时 它应该给出相同的分割 即每次运行期间训练中的数据实例相同 测试时的数据实例相同 But