Contenido del curso
Operaciones con Vectores y Matrices
Multiplicación de Matrices
Construcción de un Modelo de Regresión Lineal
NumPy y Matplotlib para datos en Python
Resumen
Un modelo de machine learning no entiende de imágenes, texto o tablas: solo entiende de números organizados en estructuras eficientes. Aquí es donde NumPy y Matplotlib en Python se vuelven el punto de partida obligatorio si quieres entrenar modelos, visualizar datos y construir sobre el ecosistema de IA. Esta guía es para ti si estás dando tus primeros pasos en machine learning y quieres entender por qué estas dos librerías son el cimiento de todo lo que viene.
¿Por qué NumPy es la base del ecosistema de machine learning?
Las listas de Python funcionan, pero cuando hablamos de cálculo matemático a gran escala se quedan cortas en velocidad. NumPy resuelve ese cuello de botella y por eso librerías como Pandas, Scikit-Learn o TensorFlow dependen directamente de él [0:14].
Su estructura principal es el array, que se ve como una lista, pero tiene capacidades avanzadas para operaciones matemáticas. Y aquí viene lo interesante: no necesitas instalar nada si trabajas en Google Colab o en Jupyter Notebook, ya viene listo para usar [1:25].
¿Qué es un array en NumPy? Es una estructura de datos parecida a una lista de Python, pero optimizada para cálculo numérico. Se crea con
np.array([...])y permite operaciones matemáticas rápidas sobre grandes volúmenes de datos.
¿Cómo importar NumPy y crear tu primer array?
La convención del ecosistema es importar la librería con un alias corto. Se escribe así:
python import numpy as np datos = np.array([1, 2, 3, 4, 5]) print(datos) print(datos.shape)
Ese alias np no es opcional en la práctica: lo verás en cualquier tutorial, libro o repositorio profesional de IA [1:00].
¿Qué significa el atributo shape de un array?
Cuando imprimes datos.shape obtienes una tupla como (5,). Ese número te dice cuántos elementos tiene el array, y en este caso describe un vector de cinco elementos [1:53].
Verificar la forma de tus datos antes de cualquier operación es una de las costumbres más importantes en machine learning. ¿Por qué? Porque los modelos esperan una forma específica de entrada para poder entrenarse, y un shape equivocado es una de las causas más comunes de errores al empezar [2:18].
¿Cómo visualizar datos con Matplotlib en Python?
Una lista de números no comunica nada por sí sola. Somos seres visuales: necesitamos ver patrones, detectar errores y mostrar resultados. Matplotlib es la librería por excelencia para crear gráficos en Python [2:59].
Antes de graficar, definimos los datos que vamos a usar: dos vectores para las coordenadas y un vector adicional para representar una flecha.
python x = np.array([1, 2, 3, 4, 5]) y = np.array([2, 4, 1, 3, 5]) v1 = np.array([3, 4])
Luego importamos el módulo pyplot con su alias estándar:
python import matplotlib.pyplot as plt
¿Cómo crear un gráfico de dispersión y un vector?
El flujo básico de Matplotlib siempre empieza con un lienzo. La función plt.figure(figsize=(6,6)) define un área de seis por seis pulgadas donde dibujarás todo [4:13].
Después vienen las capas de visualización:
plt.scatter(x, y, label='puntos de datos')dibuja un gráfico de dispersión, donde cada par(x, y)se convierte en un punto en el plano.plt.quiver(0, 0, v1[0], v1[1], angles='xy', scale_units='xy', scale=1, color='r', label='vector 1')dibuja una flecha desde el origen(0,0)hasta las coordenadas del vector.plt.title('Mi primera visualización'),plt.legend(),plt.grid(True, alpha=0.3)yplt.show()cierran el gráfico con título, leyenda y una grilla con opacidad de 0.3 [6:25].
¿Para qué sirve plt.quiver? Sirve para dibujar flechas en un plano. Es ideal para representar vectores en visualizaciones de álgebra lineal o física, definiendo origen, dirección y escala.
El resultado combina ambos elementos: los puntos azules muestran la relación entre x y y, mientras la flecha roja representa al vector v1 saliendo del origen hacia las coordenadas (3, 4).
¿Qué hacen los parámetros angles y scale_units?
Estos dos parámetros suelen confundir al principio. angles='xy' le indica a Matplotlib que la flecha use los ángulos del plano cartesiano tradicional, ese mismo que aprendiste en el colegio. Y scale_units='xy' con scale=1 asegura que la longitud de la flecha coincida exactamente con las coordenadas del vector, sin escalado adicional [5:46].
Sin estos parámetros, la flecha podría aparecer distorsionada o con una longitud que no refleja los valores reales del vector.
¿Cómo practicar lo aprendido con un ejercicio?
La mejor forma de fijar estos conceptos es modificar el código y observar cómo cambia la visualización. Te propongo este reto rápido:
- Cambia los valores de
x,yyv1por números distintos. - Prueba con más o menos elementos en cada array.
- Ejecuta el código y observa cómo se mueve el gráfico.
Cuando termines, comparte tu gráfico y tu código en los comentarios. Ya sabes crear vectores y graficarlos, pero quedan preguntas abiertas: ¿qué es exactamente un vector?, ¿cómo se combinan para formar matrices con millones de datos?, ¿existen estructuras más complejas para representar información en machine learning? Cuéntame qué resultados obtuviste con tus propios valores.