Skip to content

Commit f7f44ff

Browse files
authored
Enhance cosine_similarity.py with future annotations
Added future annotations for type hints and fixed formatting.
1 parent 666508f commit f7f44ff

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

machine_learning/cosine_similarity.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
from __future__ import annotations
2+
13
import math
24

5+
36
def cosine_similarity(vector_a: list[float], vector_b: list[float]) -> float:
47
"""
58
Finds the cosine similarity between two multi-dimensional vectors.
@@ -18,7 +21,7 @@ def cosine_similarity(vector_a: list[float], vector_b: list[float]) -> float:
1821
raise ValueError("Vectors must be of the same length")
1922

2023
dot_product = sum(a * b for a, b in zip(vector_a, vector_b))
21-
24+
2225
magnitude_a = math.sqrt(sum(a * a for a in vector_a))
2326
magnitude_b = math.sqrt(sum(b * b for b in vector_b))
2427

@@ -27,6 +30,8 @@ def cosine_similarity(vector_a: list[float], vector_b: list[float]) -> float:
2730

2831
return dot_product / (magnitude_a * magnitude_b)
2932

33+
3034
if __name__ == "__main__":
3135
import doctest
36+
3237
doctest.testmod()

0 commit comments

Comments
 (0)