zoukankan      html  css  js  c++  java
  • 关于python中的随机种子——random_state

    random_state是一个随机种子,是在任意带有随机性的类或函数里作为参数来控制随机模式。当random_state取某一个值时,也就确定了一种规则。

    random_state可以用于很多函数,我比较熟悉的是用于以下三个地方:1、训练集测试集的划分 2、构建决策树 3、构建随机森林

    1、划分训练集和测试集的类train_test_split

      随机数种子控制每次划分训练集和测试集的模式,其取值不变时划分得到的结果一模一样,其值改变时,划分得到的结果不同。若不设置此参数,则函数会自动选择一种随机模式,得到的结果也就不同。

    2、构建决策树的函数

    clf = tree.DecisionTreeClassifier(criterion="entropy",random_state=30,splitter="random")

      其取值不变时,用相同的训练集建树得到的结果一模一样,对测试集的预测结果也是一样的;

      其值改变时,得到的结果不同;

      若不设置此参数,则函数会自动选择一种随机模式,每次得到的结果也就不同。

    3、构建随机森林

    clf = RandomForestClassifier(random_state=0)

      其取值不变时,用相同的训练集建森林得到的结果一模一样,对测试集的预测结果也是一样的;

      其值改变时,建森林得到的结果不同;

      若不设置此参数,则函数会自动选择一种随机模式,每次得到的结果也就不同。

    总结:在需要设置random_state的地方给其赋一个值,当多次运行此段代码能够得到完全一样的结果,别人运行此代码也可以复现你的过程。若不设置此参数则会随机选择一个种子,执行结果也会因此而不同了。虽然可以对random_state进行调参,但是调参后在训练集上表现好的模型未必在陌生训练集上表现好,所以一般会随便选取一个random_state的值作为参数。

  • 相关阅读:
    hive实现根据用户分组,按用户记录求上下两条记录的时间差
    国外互联网公司大数据技术架构研究
    Hadoop源码解析之 rpc通信 client到server通信
    一致性哈希与java实现
    spark 对hbase 操作
    Spark MLlib(下)--机器学习库SparkMLlib实战
    PHP源码进行加密(仅linux)
    有个问题需要将字符串(大数字)计算相加并转换成字符串,传递的参数是字符串。
    Js中Array 函数使用方法
    phpstorm配置xdebug调试
  • 原文地址:https://www.cnblogs.com/simpleDi/p/9986198.html
Copyright © 2011-2022 走看看