机器学习中的参数:随机种子(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

原文地址:https://www.cnblogs.com/wisir/p/12602460.html

时间: 2024-11-07 22:55:10

机器学习中的参数:随机种子(random_state)的相关文章

随机种子random_state,random seed

首先random_state和random seed是一样的,都是设置随机种子 在许多模型中都有random_state,例如SVC, ShuffleSplit()等,在模型中设置random_state作用就是可以使每次用相同的训练集相同参数可以得到相同的结果.不然的话,每训练一次,结果就会有波动.如果random_state都设置好,当别人拿到你的代码运行时就能得到和你一样的结果,复现你的过程. 特别注意:随机种子设置为0的时候结果也是一样的,除了不设置或设置为None时,产生的结果会不同

机器学习 —— 用于超参数随机化搜索的几个分布

机器学习中超参数搜索的常用方法为 Grid Search,然而如果参数一多则容易碰到维数诅咒的问题,即参数之间的组合呈指数增长.如果有 \(m\) 个参数,每个有 \(n\) 个取值,则时间复杂度为 \(\Theta(n^m)\). Bengio 等人在 <Random Search for Hyper-Parameter Optimization> 中提出了随机化搜索的方法.他们指出大部分参数空间存在 "低有效维度 (low effective dimensionality)&qu

DeepLearning tutorial(2)机器学习算法在训练过程中保存参数

我是小白,说的不是很好,请原谅 @author:wepon @blog:http://blog.csdn.net/u012162613/article/details/43169019 参考:pickle - Python object serialization.DeepLearning Getting started 一.python读取"***.pkl.gz"文件 用到Python里的gzip以及cPickle模块,简单的使用代码如下,如果想详细了解可以参考上面给出的链接. [p

paper 56 :机器学习中的算法:决策树模型组合之随机森林(Random Forest)

周五的组会如约而至,讨论了一个比较感兴趣的话题,就是使用SVM和随机森林来训练图像,这样的目的就是 在图像特征之间建立内在的联系,这个model的训练,着实需要好好的研究一下,下面是我们需要准备的入门资料: [关于决策树的基础知识参考:http://blog.csdn.net/holybin/article/details/22914417] 在机器学习中,随机森林由许多的决策树组成,因为这些决策树的形成采用了随机的方法,所以叫做随机森林.随机森林中的决策树之间是没有关联的,当测试数据进入随机森

机器学习中的范数规则化 L0、L1与L2范数 核范数与规则项参数选择

http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 [email protected] http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的L0.L1.L2和核范数规则化.最后聊下规则化项参数的选择问题.这里因为篇幅比较庞大,为了不吓到大家,我将这个五个部分分成两篇博文.知识有限,以下都是我一些浅显

paper 27:机器学习中的范数规则化之(二)核范数与规则项参数选择

机器学习中的范数规则化之(二)核范数与规则项参数选择 [email protected] http://blog.csdn.net/zouxy09 上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮叨下核范数和规则项参数选择.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 三.核范数 核范数||W||*是指矩阵奇异值的和,英文称呼叫Nuclear Norm.这个相对于上面火热的L1和L2来说,可能大家就会陌生点.那它是干嘛用的呢?霸气登场:约束Low-Ra

机器学习中的范数规则化之(二)核范数与规则项参数选择 非常好,必看

机器学习中的范数规则化之(二)核范数与规则项参数选择 [email protected] http://blog.csdn.net/zouxy09 上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮叨下核范数和规则项参数选择.知识有限,以下都是我一些浅显的看法,如果理解存在错误,希望大家不吝指正.谢谢. 三.核范数 核范数||W||*是指矩阵奇异值的和,英文称呼叫Nuclear Norm.这个相对于上面火热的L1和L2来说,可能大家就会陌生点.那它是干嘛用的呢?霸气登场:约束Low-Ra

java中Random随机种子使用

在java中,通过Random生成随机数时,如果设置随机种子,则相同的种子,产生的随机数相同.若不设置则每次随机的不同. Random rnd = new Random(); rnd.setSeed(10);//用于设置种子. rnd.nextInt();// 用于产生随机数. rnd.nextInt(10); // 产生(0-9)数字.

在LoadRunner中从数组类型的参数随机取值的方法

使用web_reg_save_param做关联后,有时候会有多个匹配值. 为了模仿用户行为随机取一个值为后续transcation所用,可以使用lr_paramarr_random函数. 例如: web_reg_save_param("EntryID", "LB=_41\"\>\<nobr\>", "RB=\<", "Ord=All", "NOTFOUND=WARNING"