- java.lang.Object
-
- org.ojalgo.data.proximity.Similarity
-
public abstract class Similarity extends java.lang.ObjectSimilarity / distance utilities commonly used in ML and information retrieval. Provides cosine similarity ([-1,1]) and cosine distance (1 - cosine similarity). Overloads are provided for both rawdouble[]andAccess1D(treated as linearised 1D vectors using their element order).
-
-
Constructor Summary
Constructors Constructor Description Similarity()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static doublecosine(double[] a, double[] b)Cosine similarity between two equal-length vectors.static doublecosine(Access1D<?> a, Access1D<?> b)Cosine similarity between 2 matrices treated as flattened vectors.
-
-
-
Method Detail
-
cosine
public static double cosine(Access1D<?> a, Access1D<?> b)
Cosine similarity between 2 matrices treated as flattened vectors.- Parameters:
a- matrix ab- matrix b- Returns:
- cosine similarity in [-1, 1]
- Throws:
java.lang.NullPointerException- if a or b is nulljava.lang.IllegalArgumentException- if element counts differ or either has zero norm
-
cosine
public static double cosine(double[] a, double[] b)Cosine similarity between two equal-length vectors.- Parameters:
a- vector ab- vector b- Returns:
- cosine similarity in [-1, 1]
- Throws:
java.lang.NullPointerException- if a or b is nulljava.lang.IllegalArgumentException- if lengths differ or either vector has zero norm
-
-