NumPy y Matplotlib: de números a gráficos
Clase 3 de 16 • Curso de Álgebra Lineal para Machine Learning
Contenido del curso
Operaciones con Vectores y Matrices
Multiplicación de Matrices
Construcción de un Modelo de Regresión Lineal
Aprende a pasar de números a gráficos claros en Python con NumPy y Matplotlib. Domina la creación de arrays, interpreta su shape y construye tu primera visualización combinando un gráfico de dispersión y un vector. Todo con buenas prácticas que te ahorran tiempo y errores al preparar datos para machine learning.
¿Por qué NumPy es la base del ecosistema de IA en Python?
NumPy es el cimiento del cálculo numérico en Python. Los modelos de machine learning solo entienden números en estructuras eficientes, y las listas de Python no son óptimas a gran escala. Por eso, librerías como pandas, Scikit-learn y TensorFlow dependen de NumPy.
- Importa con alias por convención: as np.
- En Colab y Jupyter Notebook ya viene preinstalado.
- Su estructura central es el array, similar a una lista pero optimizado para operaciones vectorizadas.
Código de importación:
import numpy as np # alias por convención
¿Cómo crear arrays y verificar su shape antes de entrenar?
Crear un array es directo. Imprime su contenido y su shape para entender su forma. Esta verificación evita errores al preparar datos para un modelo que espera dimensiones específicas.
datos = np.array([1, 2, 3, 4, 5])
print(datos)
print(datos.shape) # devuelve (5,)
- shape indica la forma del array. En el ejemplo, el primer valor es 5: hay cinco elementos.
- Esto corresponde a un vector de cinco elementos.
- Verificar la forma es clave antes de entrenar: asegura que el modelo reciba los datos con la dimensión esperada.
Habilidades que practicas:
- Crear arrays con np.array.
- Inspeccionar .shape para confirmar dimensiones.
- Pensar en vectores como base para estructuras mayores como matrices.
¿Cómo visualizar datos con Matplotlib: scatter y quiver?
Visualizar ayuda a encontrar patrones, detectar errores y comunicar resultados. Con Matplotlib puedes graficar puntos y vectores en un plano cartesiano de forma simple.
Primero, crea los datos:
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 1, 3, 5])
v1 = np.array([3, 4]) # vector con dos coordenadas
¿Cómo configurar el lienzo con pyplot?
Crea un lienzo cuadrado de seis pulgadas por lado con pyplot.
import matplotlib.pyplot as plt
plt.figure(figsize=(6, 6))
¿Cómo graficar puntos con scatter?
Usa scatter para un gráfico de dispersión y añade un label.
plt.scatter(x, y, label='puntos de datos')
¿Cómo trazar un vector con quiver?
Dibuja una flecha desde el origen con quiver. Usa un plano cartesiano estándar con angles='xy' y unidades coherentes con scale_units='xy'.
plt.quiver(0, 0, v1[0], v1[1],
angles='xy', scale_units='xy', scale=1,
color='red', label='vector uno')
plt.title('Mi primera visualización') # *title*
plt.legend() # *legend*
plt.grid(True, alpha=0.3) # *grid* con opacidad
plt.show() # *show*
Claves de la visualización:
- plt.scatter: puntos en coordenadas x e y.
- plt.quiver: vector como flecha desde el origen a (v1[0], v1[1]).
- labels, title, legend y grid mejoran la lectura.
Práctica sugerida:
- Cambia los valores de x, y y v1.
- Prueba más o menos puntos.
- Ejecuta y observa cómo cambian el plano y la flecha.
¿Probaste combinaciones interesantes? Comparte tu gráfico y el código en los comentarios: inspira a otros y afianza lo aprendido.