Numpy Random Normal Quick Guide

A função normal aleatória NumPy é uma função comumente usada que gera amostras com base em uma distribuição normal (Gaussiana).

Neste artigo, exploraremos a função numpy.random.normal() em detalhes, seus vários parâmetros e como manipular essas distribuições com exemplos.



O que é uma Distribuição Normal?

Antes de mergulharmos na função numpy.random.normal() , vamos rever brevemente o que é uma distribuição normal.

Em homenagem ao matemático alemão Carl Friedrich Gauss , também é conhecida como Distribuição Gaussiana.

Uma distribuição normal é uma distribuição de probabilidade contínua, simétrica e em forma de sino.

É definido por dois parâmetros: a média ( μ ) e o desvio padrão ( σ ).

A média determina o centro da distribuição, enquanto o desvio padrão determina a dispersão da distribuição.


Criar amostra aleatória por meio de distribuição normal

Agora que sabemos o que é uma distribuição normal, vamos explorar como gerar amostras aleatórias usando a função numpy.random.normal() .

Várias distribuições de probabilidade podem ser representadas com este modelo, por exemplo, IQ Scores , Heartbeat etc.

Para obter uma distribuição de dados normal, chame a função random.normal().

Aqui está a sintaxe básica da função:

numpy.random.normal(loc=0.0, scale=1.0, size=None)

Existem três parâmetros que compõem esta função:

Parâmetros Visão geral
local (Média) a localização exata do ponto mais alto do sino.
escala (o Desvio Padrão da distribuição do gráfico) o grau em que a distribuição do gráfico tende a ser uniforme por toda parte.
tamanho Este parâmetro especifica a forma da matriz que será gerada.

Vamos criar uma distribuição normal aleatória de dimensão 4 × 4 pelo seguinte método:

Numpy random normal Example: 

1
2
3
4
5
6
from numpy import random
mrx = random.normal(size=(4, 4))
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

O seguinte procedimento é implementado para obter uma distribuição normal aleatória com uma dimensão de 5 × 2:

Example: 

1
2
3
4
5
6
from numpy import random
mrx = random.normal(size=(5, 2))
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

A média e o desvio padrão da distribuição normal são 4 e 6, respectivamente:

Example: 

1
2
3
4
5
6
from numpy import random
mrx = random.normal(size=(4, 4))
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Exemplo de Explicação

No exemplo acima, primeiro importamos o módulo numpy.random , que é usado para gerar números aleatórios em Python.

Em seguida, ele cria uma matriz 4×4 mrx  de números aleatórios extraídos de uma distribuição normal padrão (média = 0, desvio padrão = 1) usando a função numpy.random.normal() .

O parâmetro tamanho é definido como (4,4), o que significa que a matriz resultante terá 4 linhas e 4 colunas.

Os valores em mrx são aleatórios, mas seguem uma curva em forma de sino centrada em 0 com um desvio padrão de 1, que é uma característica de uma distribuição normal padrão.

Finalmente, a função print() é usada para exibir a matriz mrx no console de saída.

Podemos personalizar a média e o desvio padrão da distribuição normal definindo os parâmetros loc e scale , respectivamente.

vamos gerar uma distribuição normal aleatória com média 2 e desvio padrão 3:

Example: 

1
2
3
4
5
6
from numpy import random
mrx = random.normal(loc=2, scale=3, size=(5, 2))
print(mrx)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Visualização A distribuição normal

Agora que geramos algumas amostras aleatórias de uma distribuição normal, vamos visualizar a distribuição usando um histograma.

Podemos usar o matplotlib e a biblioteca seaborn para criar um histograma dos dados:

Example: 

1
2
3
4
5
6
7
8
from numpy import random
import matplotlib.pyplot as pt
import seaborn as sbn
sbn.distplot(random.normal(size=500), hist=False)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Example: 

1
2
3
4
5
6
7
8
from numpy import random
import matplotlib.pyplot as pt
import seaborn as sbn
sbn.distplot(random.normal(size=850), hist=True)
pt.show()
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Lembrete : devido à curva em forma de sino do Numpy random normal, o gráfico de uma distribuição normal também é chamado de curva de sino.

 

Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone