Hay muchas métricas de distancia que se utilizan en varios algoritmos de aprendizaje automático. Uno de ellos es la distancia euclidiana. La distancia euclidiana es la métrica de distancia más utilizada y es simplemente una distancia en línea recta entre dos puntos. La distancia euclidiana entre puntos viene dada por la fórmula:
Podemos usar varios métodos para calcular la distancia euclidiana entre dos series. Aquí hay algunos métodos para lo mismo:
Ejemplo 1:
import pandas as pd import numpy as np # create pandas series x = pd.Series([1, 2, 3, 4, 5]) y = pd.Series([6, 7, 8, 9, 10]) # here we are computing every thing # step by step p1 = np.sum([(a * a) for a in x]) p2 = np.sum([(b * b) for b in y]) # using zip() function to create an # iterator which aggregates elements # from two or more iterables p3 = -1 * np.sum([(2 * a*b) for (a, b) in zip(x, y)]) dist = np.sqrt(np.sum(p1 + p2 + p3)) print("Series 1:", x) print("Series 2:", y) print("Euclidean distance between two series is:", dist)
Producción :
Ejemplo 2:
import pandas as pd import numpy as np x = pd.Series([1, 2, 3, 4, 5]) y = pd.Series([6, 7, 8, 9, 10]) # zip() function creates an iterator # which aggregates elements from two # or more iterables dist = np.sqrt(np.sum([(a-b)*(a-b) for a, b in zip(x, y)])) print("Series 1:") print(x) print("Series 2:") print(y) print("Euclidean distance between two series is:", dist)
Producción :
Ejemplo 3: En este ejemplo estamos usando la función np.linalg.norm() que devuelve una de ocho normas de array diferentes.
import pandas as pd import numpy as np x = pd.Series([1, 2, 3, 4, 5]) y = pd.Series([6, 7, 8, 9, 10]) dist = (np.linalg.norm(x-y)) print("Series 1:") print(x) print("Series 2:") print(y) print("Euclidean distance between two series is:", dist)
Producción :
Ejemplo 4: Probemos ahora con una serie más grande:
import pandas as pd import numpy as np x = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) y = pd.Series([12, 8, 7, 5, 6, 5, 3, 9, 7, 1]) dist = np.sqrt(np.sum([(a-b)*(a-b) for a, b in zip(x, y)])) print("Series 1:") print(x) print("Series 2:") print(y) print("Euclidean distance between two series is:", dist)
Producción :
Publicación traducida automáticamente
Artículo escrito por devanshigupta1304 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA