【ML基础】随机种子
概念
随机数
伪随机数
随机种子
若采用random.random(),每次都按照一定的序列(默认的某一个参数)生成不同的随机数。
若采用随机数种子random.seed(100),它将在所设置的种子100范围内调用random()模块生成随机数,如果再次启动random.seed(100),它则按照之前的序列从头开始生成随机数,两次生成的随机序列相同。
若采用random.seed(),它则按照默认的一个序列生成随机数。
C语言
产生随机数的函数:int rand(void); rand函数没有参数,返回值就是随机数;
实际上通过rand函数产生的随机数是伪随机数,它是根据一个数值然后通过公式计算出来一个值,将计算的结果作为随机数返回。这个固定参考的数值就被称为“种子”,每次计算机启动时就会生成一个种子,然后在以后运行的过程中种子就不会在发生变化了。所以每次执行rand函数的时候,它参考值种子值都是固定的,因此每次生成的随机数也就是固定的。如果要每次生成的随机数不同,那么每次产生随机数之前就需要改变种子的值。
种子数值是由srand函数产生的,void srand(unsigned int _seed); 函数没有返回值,它的参数就是需要设置的种子值。
#include <stdio.h> #include <stdlib.h> #include <time.h> int main(int argc, char** argv) { int i; // srand(10); // 设置种子数值. srand(time(NULL)); // 将系统时间作为种子值. i = rand() % 10; // 控制数字范围. printf("%d\n",i); return 0; }
参考
完
各美其美,美美与共,不和他人作比较,不对他人有期待,不批判他人,不钻牛角尖。
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/
心正意诚,做自己该做的事情,做自己喜欢做的事情,安静做一枚有思想的技术媛。
版权声明,转载请注明出处:https://www.cnblogs.com/happyamyhope/