NumPy
- GUSTAVO DALMER POCCO GOMEZ
- 16 dic 2023
- 3 Min. de lectura
"NumPy es una biblioteca de Python muy popular que se utiliza principalmente para realizar cálculos matemáticos y científicos".
¿Qué es NumPy?
El término NumPy es en realidad la abreviatura de «Numerical Python». Es una biblioteca de código abierto en lenguaje Python. Se utiliza para la programación científica en Python, y, en particular, para la programación en Data Science, la ingeniería, las matemáticas o la ciencia.
Esta biblioteca es muy útil para realizar operaciones matemáticas y estadísticas en Python. Funciona muy bien para multiplicar matrices o cuadros multidimensionales. La integración con C/C++ y Fortran es muy sencilla.
Características:
Arreglos multidimensionales: NumPy introduce el objeto array, que es una estructura de datos eficiente para representar y manipular arreglos multidimensionales. Estos arreglos pueden ser de cualquier dimensión y contienen elementos del mismo tipo de datos.
Operaciones matemáticas: NumPy proporciona una amplia gama de funciones matemáticas para realizar operaciones en arreglos. Esto incluye operaciones básicas como suma, resta, multiplicación, así como funciones más avanzadas como funciones trigonométricas, exponenciales y álgebra lineal.
Funciones de álgebra lineal: NumPy incluye un conjunto de funciones para realizar operaciones de álgebra lineal, como la multiplicación de matrices, cálculos de determinantes, resolución de sistemas de ecuaciones lineales, entre otros.
Broadcasting: Una característica que permite realizar operaciones entre arreglos de diferentes formas y tamaños de manera eficiente, sin necesidad de crear copias adicionales de los datos.
Integración con otras bibliotecas: NumPy es ampliamente utilizado en conjunto con otras bibliotecas de Python para análisis de datos y visualización, como pandas, matplotlib y scikit-learn.
Ventajas de usar NumPy
NumPy es muy útil para realizar cálculos lógicos y matemáticos sobre cuadros y matrices. Puede realizar estas operaciones de manera mucho más rápida y eficaz que las listas de Python.
Los arrays de NumPy tienen algunas ventajas sobre las listas tradicionales de Python. En primer lugar, utilizan menos memoria y espacio de almacenamiento, que es su principal punto fuerte.
Además, NumPy ofrece un mejor rendimiento en términos de velocidad de ejecución. Sin embargo, es más fácil y cómodo de usar.
Además, es una herramienta de código abierto, que puede utilizarse de forma totalmente gratuita. Está basada en Python, que es un lenguaje de programación extremadamente popular con muchas bibliotecas de gran calidad para cualquier tarea. Por último, es muy fácil conectar el código C existente al intérprete de Python.
En resumen, NumPy proporciona una base sólida para realizar operaciones numéricas eficientes en Python y es ampliamente utilizado en la comunidad científica y de datos debido a sus características avanzadas y su rendimiento optimizado.
Código:
# Instalación de NumPy y Matplotlib si aún no están instalados en Colab !pip install numpy matplotlib # Importar bibliotecas import numpy as np import matplotlib.pyplot as plt # Configuración para reproducibilidad np.random.seed(42) # Generar datos de entrada y salida para un modelo polinómico num_samples = 50 X = 2 np.random.rand(num_samples, 1) y = 3 X**2 + 5 X + 2 + np.random.randn(num_samples, 1) # Agregar una columna de unos a la matriz X para el término de sesgo X_b = np.c_[np.ones((num_samples, 1)), X, X*2] # Inicializar pesos de manera aleatoria weights = np.random.randn(3, 1) # Hiperparámetro: tasa de aprendizaje learning_rate = 0.01 # Entrenamiento del modelo polinómico usando gradiente descendente epochs = 1000 for epoch in range(epochs): # Propagación hacia adelante predictions = X_b.dot(weights) # Calcular el gradiente y actualizar pesos usando gradiente descendente gradient = X_b.T.dot(predictions - y) / num_samples weights -= learning_rate gradient # Hacer predicciones con el modelo entrenado X_new = np.linspace(0, 2, 100).reshape(-1, 1) X_new_b = np.c_[np.ones((100, 1)), X_new, X_new*2] predictions_new = X_new_b.dot(weights) # Visualizar los resultados plt.scatter(X, y, label='Datos reales') plt.plot(X_new, predictions_new, color='red', label='Modelo polinómico') plt.xlabel('Variable independiente') plt.ylabel('Variable dependiente') plt.title('Ajuste de modelo polinómico con NumPy') plt.legend() plt.show() # Imprimir resultados print("Coeficientes aprendidos:") print("Término de sesgo:", weights[0][0]) print("Coeficiente lineal:", weights[1][0]) print("Coeficiente cuadrático:", weights[2][0])
Código en colab
file:///C:/Users/Joja/Downloads/untitled32.py
Comentarios