# How to use random seed in Numpy

I will explain how to use random seed in Numpy, a popular Python library for scientific computing. Random seed is a way of controlling the randomness of Numpy’s random number generators, which are used for various purposes such as generating random data, shuffling arrays, sampling from distributions, and more.

## Why use random seed?

Randomness is an essential feature of many scientific and statistical applications, as it allows us to model uncertainty, variability, and noise. However, sometimes we want to reproduce the same random results for debugging, testing, or comparison purposes. For example, if we are developing a machine learning algorithm that uses random initialization or stochastic optimization, we might want to compare its performance on different runs with the same data and parameters.

This is where random seed comes in handy. By setting a random seed before calling any Numpy function that uses randomness, we can ensure that the random number generators will produce the same sequence of random numbers every time. This way, we can eliminate the variability due to randomness and focus on the effects of other factors.

## How to use random seed?

Using random seed in Numpy is very simple. All we need to do is to call the np.random.seed function with an integer argument that represents the seed value. For example:

```import numpy as np
np.random.seed(42) # set the seed to 42
a = np.random.rand(3) # generate a random array of size 3
print(a) # print the array
```

The output will be:

`[0.37454012 0.95071431 0.73199394]`

If we run this code again with the same seed value, we will get the same output. However, if we change the seed value or do not set it at all, we will get different outputs.