Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Matemáticas para IA, Unidad 13 — Siguientes pasos, 13.2 — Ruta recomendada en comoprogramar.es ·

NumPy desde cero

NumPy desde cero

Introducción

NumPy es una biblioteca fundamental para la ciencia de datos y la inteligencia artificial en Python. Proporciona soporte para arreglos multidimensionales eficientes, que son cruciales para el procesamiento de grandes cantidades de datos. Si has terminado con las matemáticas básicas necesarias para entender los principios fundamentales de la IA, NumPy es tu siguiente paso en el camino hacia la manipulación y análisis efectivo de datos.

NumPy no solo facilita la creación y manipulación de arreglos multidimensionales, sino que también incluye una serie de funciones matemáticas útiles para trabajar con estos arreglos. Al dominar NumPy, podrás mejorar significativamente tu capacidad para manejar datos complejos y realizar cálculos numéricos intensivos.

Explicación principal

NumPy se basa en arreglos multidimensionales. Los arreglos NumPy (también conocidos como ndarray) son similares a las matrices de MATLAB, pero tienen una gran flexibilidad en términos de dimensiones y tipos de datos.

Creación de un arreglo

Para crear un arreglo NumPy, puedes usar la función numpy.array():

import numpy as np

# Crear un arreglo 1D con valores del 0 al 9
arr_1d = np.arange(10)
print(arr_1d)

# Crear un arreglo 2D de 3x3 llena de ceros
arr_2d_zeros = np.zeros((3, 3))
print(arr_2d_zeros)

# Crear un arreglo 2D de 3x3 lleno con valores del 1 al 9
arr_2d_ones = np.ones((3, 3), dtype=int)
print(arr_2d_ones)

Operaciones con arreglos

NumPy ofrece una amplia gama de operaciones útiles:

# Suma de dos arreglos 1D
arr_a = np.array([1, 2, 3])
arr_b = np.array([4, 5, 6])
sum_arr = arr_a + arr_b
print(sum_arr)

# Multiplicación punto (producto escalar) entre arreglos 1D
dot_product = np.dot(arr_a, arr_b)
print(dot_product)

# Máximo y mínimo de un arreglo 2D
arr_2d = np.array([[1, 2], [3, 4]])
max_val = np.max(arr_2d)
min_val = np.min(arr_2d)
print(f" Máximo: {max_val}, Mínimo: {min_val}")

Ejemplo de uso en una tarea real

Supongamos que tienes un conjunto de datos con medidas meteorológicas diarias. Quieres calcular el promedio mensual para temperaturas y precipitaciones.

# Datos meteorológicos (aletorios)
temperatures = np.random.normal(loc=20, scale=10, size=(365,))
precipitations = np.random.normal(loc=10, scale=5, size=(365,))

# Calcular el promedio mensual
months = 12
monthly_temp_avg = temperatures.reshape((12, -1)).mean(axis=1)
monthly_precip_avg = precipitations.reshape((12, -1)).mean(axis=1)

print(f"Promedios mensuales de temperatura: {monthly_temp_avg}")
print(f"Promedios mensuales de precipitación: {monthly_precip_avg}")

Errores típicos / trampas

A continuación, se detallan algunos errores comunes al usar NumPy:

  1. Operaciones incompatibles: Asegúrate de que los arreglos tengan las mismas dimensiones antes de realizar operaciones como la suma o el producto punto.
  1. Tipos de datos incorrectos: NumPy es muy sensible a los tipos de datos. Al mezclar arreglos con diferentes tipos, podrías obtener resultados inesperados o errores en tiempo de ejecución.
  1. Uso incorrecto de funciones matemáticas: Las funciones numéricas en NumPy como np.sin(), np.cos() y np.exp() esperan arreglos NumPy como entrada. Si intentas usarlas con listas regulares, podrías obtener errores o resultados inesperados.

Checklist accionable

Aquí tienes una lista de acciones para dominar NumPy:

  1. Revisar la documentación oficial: Consulta siempre el Documentación Oficial de NumPy para entender mejor las funciones y sus usos.
  2. Practicar con ejercicios simples: Empieza creando arreglos básicos, realiza operaciones elementales y sigue documentando tus resultados.
  3. Usar el módulo np.random: Prueba a generar diferentes tipos de distribuciones de datos (normal, uniforme, etc.) para entender mejor cómo trabajar con datos aleatorios.
  4. Entender la propuesta del "Producto Punto": Asegúrate de que entiendes completamente la diferencia entre el producto punto y otras operaciones como la multiplicación simple o la suma.
  5. Manejo eficiente de arreglos multidimensionales: Prueba a trabajar con arreglos 3D, 4D y más para entender mejor cómo manejar datos en múltiples dimensiones.

Cierre: Siguientes pasos

Ahora que has aprendido los fundamentos básicos de NumPy, aquí tienes algunas sugerencias para continuar tu camino:

  • Moverse hacia Pandas: NumPy es una excelente base para aprender a trabajar con datos estructurados. Aprender a utilizar Pandas, una biblioteca complementaria a NumPy, te permitirá manejar y analizar conjuntos de datos más complejos.
  • Avanzar en Machine Learning: Una vez que dominas la manipulación de arreglos multidimensionales con NumPy, puedes comenzar a explorar modelos de aprendizaje automático. Scikit-Learn es una biblioteca popular para este propósito.
  • Profundizar en Deep Learning: Si te interesa el deep learning, podrías considerar aprender a usar bibliotecas como TensorFlow o PyTorch, que están construidas sobre NumPy y proporcionan un entorno más alto nivel para la construcción de redes neuronales.

En resumen, NumPy es una herramienta fundamental en tu kit de herramientas para ciencia de datos e inteligencia artificial. Siguiendo este camino, podrás manejar datos con eficacia y prepararte para aplicaciones más avanzadas.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).