zoukankan      html  css  js  c++  java
  • numpy.random.seed()的使用解析

    seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

    for i in range(5):
        np.random.seed(1)
        print(np.random.rand())
    '''
    0.417022004702574
    0.417022004702574
    0.417022004702574
    0.417022004702574
    0.417022004702574
    '''

    可以看到,每次运行的结果都是一样的.

    修改代码:

    np.random.seed(1)
    for i in range(5):
        print(np.random.rand())
    '''
    0.417022004702574
    0.7203244934421581
    0.00011437481734488664
    0.30233257263183977
    0.14675589081711304
    '''

    可以看到,和上一份代码的运行结果不同。这里每次的输出结果都是不一样的。这也就提醒了我们在以后编写代码的时候要明白一点:random.seed(something)只能是一次有效。其实仔细想想也很自然,如果不是一次有效,比如说是一直有效,那岂不是会影响到后续的代码中随机数的选取?

    故对于该函数的使用,可总结为:

    seed( ) 用于指定随机数生成时所用算法开始的整数值。 
    1.如果使用相同的seed( )值,则每次生成的随即数都相同; 
    2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。 
    3.设置的seed()值仅一次有效

  • 相关阅读:
    (转) qt: usb热插拔(linux);
    Qt: usb热插拔检测(windows);
    C++: 模板函数定义与声明分离;
    bootstrap: 内联表单;
    thinkphp5: 循环输出表格,并固定表格单元宽度(过长省略号)
    响应式菜单栏: bootstrap + jQuery
    Qt: 数据库操作;
    qt: 获取sql数据表的所有的字段;
    Qt: 非阻塞时间延迟;
    egg中使用jwt
  • 原文地址:https://www.cnblogs.com/answerThe/p/11364354.html
Copyright © 2011-2022 走看看