¿Sabías que se pueden manejar autovalores y autovectores con Python? En este post veremos un ejercicio relacionado con autovalores y autovectores con Python para entender mejor estos dos conceptos tan usados en NLP.
Autovalores y autovectores con Python: un ejercicio
Consideremos la siguiente matriz:
Tenemos la matriz 3, 2 / 7, -2. Para calcular los autovalores y autovectores con Python tenemos que utilizar el módulo linalg y usar la función eig de numpy.
Entonces, el resultado serán los eigenvalues o eigenvalores, que corresponderán al primer componente x; y los eigenvectors o eigenvectores relacionados con el segundo componente v.
#Autovalores y autovectores con Python
import numpy as np
A = np.array ([[3, 2],
[7, -2]])
x, v = np.linalg.eig (A)
print ("Eigenvalue: ", x)
print ("Eigenvectors: ", v)
Eigenvalue: [ 5. -4. ]
Eigenvectors:
[[ 0.70710678 -0.27472113]
[ 0.70710678 0.96152395]]
En este caso, tenemos dos autovalores y dos autovectores. Siempre la relación de proporcionalidad entre autovalores y autovectores será de [1 : 1]. Por esta razón, si hay un autovalor, necesariamente tiene que haber un solo autovector y viceversa; lo mismo que si hay dos, tres o n. La fórmula de esta regla es:
Ax = λx
Entonces, el autovalor del primer vector es 5 y el autovalor del segundo vector es -4.
Ahora, también podemos calcular autovalores y autovectores con Python usando sympy. En este caso, en vez de devolver dos componentes, devuelve una variable, pero tenemos que acceder a los valores internos usando el A.eigenvals () y el A.eigenvects ():
#Autovalores y autovectores con Python
import sympy
A = sympy.Matrix ([[3, 2],
[7, -2]])
print ("Eigenvalue: ", A.eigenvals ())
print ("Eigenvectors: ", A.eigenvects ())
Eigenvalue: {5: 1, -4: 1}
Eigenvectors:
[(-4, 1, [Matrix ([
[-2 / 7],
[ 1]])]), (5, 1, [Matrix ([
[1],
[1]])])]
Nos daría exactamente el mismo resultado, solo que la distribución en el resultado es un poco distinta.
Ahora que hemos visto cómo funcionan los autovalores y autovectores en Python, podemos seguir aprendiendo y dar un paso más en el mundo de la programación.
Si quieres seguir formándote, podrás acceder a una de las disciplinas más demandadas y con mejores sueldos de todo el mercado laboral en pocos meses con la guía del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. Se trata de una formación íntegra e intensiva en la que adquirirás todos los conocimientos, tanto teóricos como prácticos, para obtener el trabajo de tus sueños. ¡Entra ya para solicitar información e impulsa tu carrera!