Skip to content

Similarity

Shamik-07 edited this page Sep 18, 2022 · 1 revision

Similarity

Euclidean Distance Calculation

Euclidean Distance

import numpy
import math

book_A = numpy.array([2, 3])
book_B = numpy.array([4, 1])

book_A_B = book_A - book_B

# ---- Easy Solution ----
euclidean_dist_easy = numpy.linalg.norm(book_A_B)

# ---- Manuel Solution ----
# Sum together all distances squared (pythagoras)
sum_of_squared_distances = numpy.dot(book_A_B, book_A_B)
# Find distance
euclidean_dist_manuel = math.sqrt(sum_of_squared_distances)

Cosine Similarity Calculation

Cosine Similarity

from scipy import spatial
import math

# ---- Easy Solution ----
cosine_dist_easy = spatial.distance.cosine(book_A, book_B)

# ---- Manuel Solution ----
# Dot product between vectors
product_AB = numpy.dot(book_A, book_B)
# Length of vectors
book_A_length = numpy.linalg.norm(book_A,2)
book_B_length = numpy.linalg.norm(book_B,2)
# Similarity measures by cosine distance
cosine_dist_manuel = 1 - (product_AB / (book_A_length * book_B_length))