Introdução
Este laboratório explora várias normalizações em uma distribuição normal multivariada usando Python Matplotlib. Neste laboratório, você aprenderá sobre normalização linear, normalização por lei de potência e como usar Matplotlib para visualizar a distribuição normal multivariada.
Dicas da VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar Bibliotecas
Nesta etapa, você precisa importar as bibliotecas necessárias, que são Matplotlib, NumPy e Multivariate_normal de NumPy.random.
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import multivariate_normal
Definir Estado Aleatório
Nesta etapa, você precisa definir o estado aleatório para reprodutibilidade.
np.random.seed(19680801)
Criar Dados
Nesta etapa, você precisa criar dados usando multivariate_normal(). Esta função gera uma amostra aleatória de uma distribuição normal multivariada.
data = np.vstack([
multivariate_normal([10, 10], [[3, 2], [2, 3]], size=100000),
multivariate_normal([30, 20], [[3, 1], [1, 3]], size=1000)
])
Criar Histograma
Nesta etapa, você precisa criar um histograma usando hist2d(). A função hist2d() é usada para criar um histograma bidimensional.
plt.hist2d(data[:, 0], data[:, 1], bins=100)
Criar Normalização de Lei de Potência
Nesta etapa, você precisa criar uma normalização de lei de potência usando PowerNorm().
plt.hist2d(data[:, 0], data[:, 1], bins=100, norm=mcolors.PowerNorm(gamma))
Criar Subplots
Nesta etapa, você precisa criar subplots usando subplots().
fig, axs = plt.subplots(nrows=2, ncols=2)
Criar Normalização Linear
Nesta etapa, você precisa criar uma normalização linear.
axs[0, 0].hist2d(data[:, 0], data[:, 1], bins=100)
Criar Normalização de Lei de Potência
Nesta etapa, você precisa criar uma normalização de lei de potência com diferentes valores de gama (gamma).
for ax, gamma in zip(axs.flat[1:], gammas):
ax.hist2d(data[:, 0], data[:, 1], bins=100, norm=mcolors.PowerNorm(gamma))
Definir Título
Nesta etapa, você precisa definir o título de cada gráfico.
axs[0, 0].set_title('Linear normalization')
for ax, gamma in zip(axs.flat[1:], gammas):
ax.set_title(r'Power law $(\gamma=%1.1f)$' % gamma)
Layout Compacto (Tight Layout)
Nesta etapa, você precisa ajustar o espaçamento entre os subplots.
fig.tight_layout()
Mostrar Gráfico (Show Plot)
Nesta etapa, você precisa exibir o gráfico usando show().
plt.show()
Resumo
Este laboratório explorou várias normalizações em uma distribuição normal multivariada usando Python Matplotlib. Você aprendeu sobre normalização linear, normalização por lei de potência e como usar Matplotlib para visualizar a distribuição normal multivariada.