Introducción
Esta práctica explora varias normalizaciones sobre una distribución normal multivariada utilizando Python Matplotlib. En esta práctica, aprenderá sobre la normalización lineal, la normalización de ley de potencia y cómo utilizar Matplotlib para visualizar la distribución normal multivariada.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje su retroalimentación después de la sesión y resolveremos el problema para usted de inmediato.
Importar bibliotecas
En este paso, debe importar las bibliotecas necesarias, que son Matplotlib, NumPy y Multivariate_normal de NumPy.random.
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import multivariate_normal
Establecer el estado aleatorio
En este paso, debe establecer el estado aleatorio para la reproducibilidad.
np.random.seed(19680801)
Crear datos
En este paso, debe crear datos utilizando multivariate_normal(). Esta función genera una muestra aleatoria de una distribución 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)
])
Crear histograma
En este paso, debe crear un histograma utilizando hist2d(). La función hist2d() se utiliza para crear un histograma bidimensional.
plt.hist2d(data[:, 0], data[:, 1], bins=100)
Crear normalización por ley de potencia
En este paso, debe crear la normalización por ley de potencia utilizando PowerNorm().
plt.hist2d(data[:, 0], data[:, 1], bins=100, norm=mcolors.PowerNorm(gamma))
Crear subtramas
En este paso, debe crear subtramas utilizando subplots().
fig, axs = plt.subplots(nrows=2, ncols=2)
Crear normalización lineal
En este paso, debe crear la normalización lineal.
axs[0, 0].hist2d(data[:, 0], data[:, 1], bins=100)
Crear normalización por ley de potencia
En este paso, debe crear la normalización por ley de potencia con diferentes valores de gamma.
for ax, gamma in zip(axs.flat[1:], gammas):
ax.hist2d(data[:, 0], data[:, 1], bins=100, norm=mcolors.PowerNorm(gamma))
Establecer título
En este paso, debe establecer el 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)
Diseño ajustado
En este paso, debe ajustar el espaciado entre las subtramas.
fig.tight_layout()
Mostrar el gráfico
En este paso, debe mostrar el gráfico utilizando show().
plt.show()
Resumen
Esta práctica exploró varias normalizaciones en una distribución normal multivariada utilizando Matplotlib de Python. Aprendió sobre la normalización lineal, la normalización por ley de potencia y cómo utilizar Matplotlib para visualizar la distribución normal multivariada.