zoukankan      html  css  js  c++  java
  • random_state随机种子

    random_state 相当于随机数种子,你可以先看一下图片中的代码和运行结果来了解它的作用。图中设置了 random.seed() 就相当于在 SVC 中设置了 random_state。

    第一段和第二段代码完全相同,在1-100中取10个随机数,都没有设置 random seed。 它每次取的结果就不同,它的随机数种子与当前系统时间有关。

    第三段和第四段代码设置了相同的 random seed(123),它们取的随机数就完全相同,你多运行几次也是这样的。

    第五段代码也设置了 random seed (456),但是与前面设置的不同,于是运行取随机数的结果也不同。

    random_state 与 random seed 作用是相同的。不仅 SVC 中有 random_state 很多其它的模型也有,你可以从模型对应的文档中查看。交叉验证的时候使用的 ShuffleSplit() 也有 random_state。

    在 ShuffleSplit() 设置 random_state 可以让每次划分训练集和验证集的时候都是完全一样的。
    在模型(如SVC)中设置 random_state 可以使模型每次用相同的训练集训练结果是一样的,对测试集的预测结果也是一样的。不然的话,你的结果,比如准确度可能会有波动。

    如果你在需要设置 random_state 的地方都设置好,那么当别人重新运行你的代码的时候就能得到完全一样的结果,复现和你一样的过程。如果你设置为 None,则会随机选择一个种子。

  • 相关阅读:
    7.29随堂笔记
    LeetCode77. 组合
    347. 前 K 个高频元素
    LeetCode239. 滑动窗口最大值
    C++_数字字符串互相转换
    LeetCode150. 逆波兰表达式求值
    LeetCode1047. 删除字符串中的所有相邻重复项
    LeetCode20. 有效的括号
    Leetcode225. 用队列实现栈 && LeetCode232. 用栈实现队列
    leetCode5663. 找出第 K 大的异或坐标值
  • 原文地址:https://www.cnblogs.com/HL-blog/p/8891771.html
Copyright © 2011-2022 走看看