Python-arange()、reshape()和random.seed()的用法

14 篇文章 1 订阅
4 篇文章 0 订阅

1. arange()函数和reshape()函数

arange()用于生成一维数组,通过指定开始值、终值和步长来创建表示等差数列的一维数组,返回给定间隔内的均匀间隔值,注意得到的结果数组不包含终值。

reshape()将一维数组转换为多维数组

(py3.6) E:\PYTHON>python
Python 3.6.13 |Anaconda, Inc.| (default, Mar 16 2021, 11:37:27) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> a = np.arange(5)
>>> a
array([0, 1, 2, 3, 4])
>>> b = np.arange(1, 5)
>>> b
array([1, 2, 3, 4])
>>> c = np.arange(2, 10, 2)
>>> c
array([2, 4, 6, 8])
>>> d = np.arange(8).reshape((2, 4))
>>> d
array([[0, 1, 2, 3],
       [4, 5, 6, 7]])
>>> e = np.arange(60).reshape((3, 4, 5))
>>> e
array([[[ 0,  1,  2,  3,  4],
        [ 5,  6,  7,  8,  9],
        [10, 11, 12, 13, 14],
        [15, 16, 17, 18, 19]],

       [[20, 21, 22, 23, 24],
        [25, 26, 27, 28, 29],
        [30, 31, 32, 33, 34],
        [35, 36, 37, 38, 39]],

       [[40, 41, 42, 43, 44],
        [45, 46, 47, 48, 49],
        [50, 51, 52, 53, 54],
        [55, 56, 57, 58, 59]]])
>>> f = np.random.randint(1, 8, size=(3, 4, 5))
>>> f
array([[[2, 2, 1, 4, 5],
        [5, 6, 1, 5, 2],
        [7, 7, 7, 1, 4],
        [1, 6, 2, 2, 1]],

       [[1, 2, 3, 6, 4],
        [5, 3, 7, 2, 6],
        [5, 6, 6, 2, 4],
        [7, 2, 7, 4, 6]],

       [[3, 7, 1, 3, 6],
        [7, 7, 3, 7, 4],
        [4, 7, 5, 1, 5],
        [5, 4, 2, 3, 3]]])

参考文章:https://blog.csdn.net/chinacmt/article/details/78548420

2.random.seed()

seed()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法。

seed()方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数

语法:

random.seed(a=None, version=2)

a – 生成随机数的种子,可以设置为一个整数。没有返回值。

如果你不了解其原理,不必特别去设定seed,Python会帮你选择seed

(py3.6) E:\PYTHON>python
Python 3.6.13 |Anaconda, Inc.| (default, Mar 16 2021, 11:37:27) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import random
>>>
>>> random.seed()      # 随机数不一样
>>> a=random.random()
>>> a
0.13101058115666753
>>>
>>> random.seed()
>>> b=random.random()
>>> b
0.3843184581986723
>>>
>>>
>>>
>>> random.seed(1)     # 随机数一样
>>> c=random.random()
>>> c
0.13436424411240122
>>>
>>> random.seed(1)
>>> d=random.random()
>>> d
0.13436424411240122
>>>
>>> random.seed(2)
>>> e=random.random()
>>> e
0.9560342718892494

可以看到当seed()没有参数时,每次生成的随机数是不一样的,而当seed()有参数时,每次生成的随机数是一样的,同时选择不同的参数生成的随机数也不一样

参考文章:https://www.jianshu.com/p/551a95290645

                  https://blog.csdn.net/qq_42951560/article/details/112184965

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
翻译这段程序并自行赋值调用:import matplotlib.pyplot as plt import numpy as np import sklearn import sklearn.datasets import sklearn.linear_model def plot_decision_boundary(model, X, y): # Set min and max values and give it some padding x_min, x_max = X[0, :].min() - 1, X[0, :].max() + 1 y_min, y_max = X[1, :].min() - 1, X[1, :].max() + 1 h = 0.01 # Generate a grid of points with distance h between them xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) # Predict the function value for the whole grid Z = model(np.c_[xx.ravel(), yy.ravel()]) Z = Z.reshape(xx.shape) # Plot the contour and training examples plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral) plt.ylabel('x2') plt.xlabel('x1') plt.scatter(X[0, :], X[1, :], c=y, cmap=plt.cm.Spectral) def sigmoid(x): s = 1/(1+np.exp(-x)) return s def load_planar_dataset(): np.random.seed(1) m = 400 # number of examples N = int(m/2) # number of points per class print(np.random.randn(N)) D = 2 # dimensionality X = np.zeros((m,D)) # data matrix where each row is a single example Y = np.zeros((m,1), dtype='uint8') # labels vector (0 for red, 1 for blue) a = 4 # maximum ray of the flower for j in range(2): ix = range(Nj,N(j+1)) t = np.linspace(j3.12,(j+1)3.12,N) + np.random.randn(N)0.2 # theta r = anp.sin(4t) + np.random.randn(N)0.2 # radius X[ix] = np.c_[rnp.sin(t), rnp.cos(t)] Y[ix] = j X = X.T Y = Y.T return X, Y def load_extra_datasets(): N = 200 noisy_circles = sklearn.datasets.make_circles(n_samples=N, factor=.5, noise=.3) noisy_moons = sklearn.datasets.make_moons(n_samples=N, noise=.2) blobs = sklearn.datasets.make_blobs(n_samples=N, random_state=5, n_features=2, centers=6) gaussian_quantiles = sklearn.datasets.make_gaussian_quantiles(mean=None, cov=0.5, n_samples=N, n_features=2, n_classes=2, shuffle=True, random_state=None) no_structure = np.random.rand(N, 2), np.random.rand(N, 2) return noisy_circles, noisy_moons, blobs, gaussian_quantiles, no_structure
05-24

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天寒心亦热

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值