基于numpy的随机数构造

class numpy.random.RandomState(seed=None)
  RandomState 是一个基于Mersenne Twister算法的伪随机数生成类
  RandomState 包含很多生成 概率分布的伪随机数 的方法。

  如果指定seed值,那么每次生成的随机数都是一样的。即对于某一个伪随机数发生器,只要该种子相同,产生的随机数序列就是相同的。

numpy.random.RandomState.rand(d0, d1, ..., dn)
  Random values in a given shape.
  Create an array of the given shape and populate it with random samples from a uniform distribution over [0, 1).
  rand()函数产生 [0,1)间的均匀分布的指定维度的 伪随机数
  Parameters:
    d0, d1, …, dn : int, optional
      The dimensions of the returned array, should all be positive. If no argument is given a single Python float is returned.

  Returns:
    out : ndarray, shape (d0, d1, ..., dn)
      Random values.

numpy.random.RandomState.uniform(low=0.0, high=1.0, size=None)
  Draw samples from a uniform distribution.
  Samples are uniformly distributed over the half-open interval [low, high) (includes low, but excludes high). In other words, any value within the given interval is equally likely to be drawn by uniform.
  uniform()函数产生 [low,high)间的 均匀分布的指定维度的 伪随机数
  Parameters:
  low : float or array_like of floats, optional
    Lower boundary of the output interval. All values generated will be greater than or equal to low. The default value is 0.
  high : float or array_like of floats
    Upper boundary of the output interval. All values generated will be less than high. The default value is 1.0.
  size : int or tuple of ints, optional
    Output shape. If the given shape is, e.g., (m, n, k), then m * n * k samples are drawn.
    If size is None (default), a single value is returned if low and high are both scalars. Otherwise, np.broadcast(low, high).size samples are drawn.

  Returns:
    out : ndarray or scalar
      Drawn samples from the parameterized uniform distribution.

有时候我们需要自己模拟构造 输入数据(矩阵),那么这种随机数的生成是一种很好的方式。

 1 # -*- coding: utf-8 -*-
 2 """
 3 Created on Tue May 29 12:14:11 2018
 4
 5 @author: Frank
 6 """
 7
 8 import numpy as np
 9
10 #基于seed产生随机数
11 rng = np.random.RandomState(seed)
12 print(type(rng))
13
14 #生成[0,1)间的 32行2列矩阵
15 X=rng.rand(32, 2)
16 print("X.type{}".format(type(X)))
17 print(X)
18
19 #生成[0,1)间的 一个随机数
20 a1 = rng.rand()
21 print("a1.type{}".format(type(a1)))
22 print(a1)
23
24 #生成[0,1)间的 一个包含两个元素的随机数组
25 a2 = rng.rand(2)
26 print("a2.type{}".format(type(a2)))
27 print(a2)
28
29 #生成[1,2)间的随机浮点数
30 X1 = rng.uniform(1,2)
31 print("X1.type{}".format(type(X1)))
32 print(X1)
33
34 #生成[1,2)间的随机数,一维数组且仅含1个数
35 X2 = rng.uniform(1,2,1)
36 print("X2.type{}".format(type(X2)))
37 print(X2)
38
39 #生成[1,2)间的随机数,一维数组且仅含2个数
40 X3 = rng.uniform(1,2,2)
41 print("X3.type{}".format(type(X3)))
42 print(X3)
43
44 #生成[1,2)间的随机数,2行3列矩阵
45 X4 = rng.uniform(1,2,(2,3))
46 print("X4.type{}".format(type(X4)))
47 print(X4)

原文地址:https://www.cnblogs.com/black-mamba/p/9104546.html

时间: 2024-10-10 10:30:51

基于numpy的随机数构造的相关文章

kbmMW基于硬件生成随机数

按作者的说法,Delphi提供的生成随机数不是真正随机的,因为他是根据种子计算的,即种子+算法生成的随机数,如果被人知道原始种子值和算法的调用次数,则可以重现随机数,因此在安全领域,这是不安全的.同时,作者也提到Delphi32位内置的随机生成品非常弱,绝对不建议应用在任何安全相关的项目中. kbmMW 5.06.20支持TRNG(真随机噪声发生器)实现了真正的随机数算法,这个方案基于硬件,通过采样现实世界的噪声做为随机输入值,听起来是不是很NB! 基于这种方案实现随机数,要购买一个硬件,网址在

使用numpy产生随机数

numpy中的random模块包含了很多方法可以用来产生随机数,这篇文章将对random中的一些常用方法做一个总结. 1.numpy.random.rand(d0, d1, ..., dn) 作用:产生一个给定形状的数组(其实应该是ndarray对象或者是一个单值),数组中的值服从[0, 1)之间的均匀分布. 参数:d0, d, ..., dn : int,可选.如果没有参数则返回一个float型的随机数,该随机数服从[0, 1)之间的均匀分布. 返回值:ndarray对象或者一个float型的

基于Numpy的神经网络+手写数字识别

基于Numpy的神经网络+手写数字识别 本文代码来自Tariq Rashid所著<Python神经网络编程> 代码分为三个部分,框架如下所示: # neural network class definition class neuralNetwork: # initialise the neural network def __init__(): pass # train the neural network def train(): pass # query the neural netwo

[Python]基于权重的随机数2种实现方式

问题: 例如我们要选从不同省份选取一个号码,每个省份的权重不一样,直接选随机数肯定是不行的了,就需要一个模型来解决这个问题. 简化成下面的问题: 字典的key代表是省份,value代表的是权重,我们现在需要一个函数,每次基于权重选择一个省份出来 {"A":2, "B":2, "C":4, "D":10, "E": 20} 解决: 这是能想到和能看到的最多的版本,不知道还没有更高效好用的算法. #!/usr/

Jmeter入门16 数据构造之随机数Random Variable &amp; __Random函数

 接口测试有时参数使用随机数构造.jmeter添加随机数两种方式 1  添加配置 > Random Variable  2  __Random函数   ${__Random(1000,9999)} 方式一 Random Variable  方式二  __Random()函数 添加http请求,2个参数:订单号,用户分别是两种方式生成的. 订单号 = 日期+__Random函数生成随机数 用户名= 随机变量输出的固定格式随机数 random_function orderid_${__time(yy

基于scikit-learn包实现机器学习之KNN(K近邻)-完整示例

基于scikit-learn包实现机器学习之KNN(K近邻) scikit-learn(简称sklearn)是目前最受欢迎,也是功能最强大的一个用于机器学习的Python库件.它广泛地支持各种分 类.聚类以及回归分析方法比如支持向量机.随机森林.DBSCAN等等,由于其强大的功能.优异的拓展性以及易用性,目 前受到了很多数据科学从业者的欢迎,也是业界相当著名的一个开源项目之一. 基于上一篇的k近邻原理讲解,我们这一片主要是利用相应的工具包实现机器学习,为了逐步掌握这样成功的工具包,我们 从简单的

【Machine Learn】决策树案例:基于python的商品购买能力预测系统

决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结合视频学习和书籍基础的笔记所得.本系列文章将采用理论结合实践方式编写.首先介绍机器学习和深度学习的范畴,然后介绍关于训练集.测试集等介绍.接着分别介绍机器学习常用算法,分别是监督学习之分类(决策树.临近取样.支持向量机.神经网络算法)监督学习之回归(线性回归.非线性回归)非监督学习(

Python 数据处理扩展包: numpy 和 pandas 模块介绍

一.numpy模块 NumPy(Numeric Python)模块是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix)).据说NumPy将Python相当于变成一种免费的更强大的MatLab系统. NumPy模块提供了许多高级的数值编程工具,如:矩阵数据类型.矢量处理,以及精密的运算库等. 1).一个强大的N维数组对象Array: 2).比较成熟

numpy 学习总结

numpy 学习总结 作者:csj更新时间:01.09 email:[email protected] 说明:因内容较多,会不断更新 xxx学习总结: #生成数组/使用astype/取值和赋值/ 数学运算 / 内置的创建数组的函数/ 文件输入输出 # Numpy是Python语言的一个library numpy # Numpy主要支持矩阵操作和运算 # Numpy非常高效,core代码由C语言写成 # pandas也是基于Numpy构建的一个library # 现在比较流行的机器学习框架(例如T