zoukankan      html  css  js  c++  java
  • 机器学习中的参数:随机种子(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的值作为参数。

    原文:https://www.cnblogs.com/simpleDi/p/9986198.html

  • 相关阅读:
    mysql索引需要了解的几个注意
    apache配置--虚拟目录
    简化LINUX的命令输入 简化linux命令 快捷键 短路径
    apache vhost 访问权限配置
    php中常用设置
    win7配置nginx + php
    restful php
    php 笔记 汇总 学习
    mysql修改表结构
    mysql 优化工具
  • 原文地址:https://www.cnblogs.com/wisir/p/12602460.html
Copyright © 2011-2022 走看看