Skip to content

Class swarmauri_core.distances.IDistanceSimilarity.IDistanceSimilarity

swarmauri_core.distances.IDistanceSimilarity.IDistanceSimilarity

Bases: ABC

Interface for computing distances and similarities between high-dimensional data vectors. This interface abstracts the method for calculating the distance and similarity, allowing for the implementation of various distance metrics such as Euclidean, Manhattan, Cosine similarity, etc.

distance abstractmethod

distance(vector_a, vector_b)

Computes the distance between two vectors.

PARAMETER DESCRIPTION
vector_a

The first vector in the comparison.

TYPE: IVector

vector_b

The second vector in the comparison.

TYPE: IVector

RETURNS DESCRIPTION
float

The computed distance between vector_a and vector_b.

TYPE: float

Source code in swarmauri_core/distances/IDistanceSimilarity.py
13
14
15
16
17
18
19
20
21
22
23
24
25
@abstractmethod
def distance(self, vector_a: IVector, vector_b: IVector) -> float:
    """
    Computes the distance between two vectors.

    Args:
        vector_a (IVector): The first vector in the comparison.
        vector_b (IVector): The second vector in the comparison.

    Returns:
        float: The computed distance between vector_a and vector_b.
    """
    pass

distances abstractmethod

distances(vector_a, vectors_b)
Source code in swarmauri_core/distances/IDistanceSimilarity.py
27
28
29
@abstractmethod
def distances(self, vector_a: IVector, vectors_b: List[IVector]) -> float:
    pass

similarity abstractmethod

similarity(vector_a, vector_b)

Compute the similarity between two vectors. The definition of similarity (e.g., cosine similarity) should be implemented in concrete classes.

PARAMETER DESCRIPTION
vector_a

The first vector.

TYPE: IVector

vector_b

The second vector to compare with the first vector.

TYPE: IVector

RETURNS DESCRIPTION
float

A similarity score between vector_a and vector_b.

TYPE: float

Source code in swarmauri_core/distances/IDistanceSimilarity.py
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@abstractmethod
def similarity(self, vector_a: IVector, vector_b: IVector) -> float:
    """
    Compute the similarity between two vectors. The definition of similarity (e.g., cosine similarity)
    should be implemented in concrete classes.

    Args:
        vector_a (IVector): The first vector.
        vector_b (IVector): The second vector to compare with the first vector.

    Returns:
        float: A similarity score between vector_a and vector_b.
    """
    pass

similarities abstractmethod

similarities(vector_a, vectors_b)
Source code in swarmauri_core/distances/IDistanceSimilarity.py
46
47
48
@abstractmethod
def similarities(self, vector_a: IVector, vectors_b: List[IVector]) -> float:
    pass