public enum SparseLongFVComparison extends Enum<SparseLongFVComparison> implements FVComparator<SparseLongFV>
Enum Constant and Description |
---|
ARCCOS
The arccosine of the cosine similarity
|
BHATTACHARYYA
Bhattacharyya distance
d(H1,H2) = sqrt( 1 - (1 / sqrt(sumI(H1(I)) * sumI(H2(I))) ) * sumI( sqrt(H1(I) * H2(I)) ) )
|
CHI_SQUARE
Chi-squared distance
d(H1,H2) = 0.5 * sumI[(H1(I)-H2(I))^2 / (H1(I)+H2(I))]
|
CITY_BLOCK
City-block (L1) distance
d(H1,H2) = sumI( abs(H1(I)-H2(I)) )
|
CORRELATION
Correlation
d(H1,H2) = sumI( H'1(I) * H'2(I) ) / sqrt( sumI[H'1(I)2]^2 * sumI[H'2(I)^2] )
where
H'k(I) = Hk(I) - (1/N) * sumJ( Hk(J) ); N=number of FeatureVector bins
|
COSINE_DIST
Cosine distance (-COSINE_SIM)
|
COSINE_SIM
Cosine similarity (sim of 1 means identical)
d(H1,H2)=sumI(H1(I) * H2(I))) / (sumI(H1(I)^2) sumI(H2(I)^2))
|
EUCLIDEAN
Euclidean distance
d(H1,H2) = Math.sqrt( sumI( (H1(I)-H2(I))^2 ) )
|
HAMMING
Hamming Distance
d(H1,H2) = sumI(H1(I) == H2(I) ? 1 : 0)
|
INNER_PRODUCT
Inner product
d(H1,H2) =sumI(H1(I) * H2(I))
|
INTERSECTION
Histogram intersection; assumes all values > 0.
|
JACCARD_DISTANCE
Jaccard distance.
|
PACKED_HAMMING
Hamming Distance for packed bit strings
d(H1,H2) = sumI(H1(I) == H2(I) ? 1 : 0)
|
SYMMETRIC_KL_DIVERGENCE
The symmetric Kullback-Leibler divergence.
|
Modifier and Type | Method and Description |
---|---|
abstract double |
compare(SparseLongArray h1,
SparseLongArray h2)
Compare two feature vectors in the form of sparse arrays,
returning a score or distance.
|
double |
compare(SparseLongFV h1,
SparseLongFV h2)
Compare two objects, returning a score
or distance.
|
boolean |
isDistance() |
static SparseLongFVComparison |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static SparseLongFVComparison[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final SparseLongFVComparison EUCLIDEAN
public static final SparseLongFVComparison CORRELATION
public static final SparseLongFVComparison CHI_SQUARE
public static final SparseLongFVComparison INTERSECTION
public static final SparseLongFVComparison BHATTACHARYYA
public static final SparseLongFVComparison HAMMING
public static final SparseLongFVComparison PACKED_HAMMING
public static final SparseLongFVComparison CITY_BLOCK
public static final SparseLongFVComparison COSINE_SIM
public static final SparseLongFVComparison COSINE_DIST
public static final SparseLongFVComparison ARCCOS
public static final SparseLongFVComparison SYMMETRIC_KL_DIVERGENCE
public static final SparseLongFVComparison JACCARD_DISTANCE
public static final SparseLongFVComparison INNER_PRODUCT
public static SparseLongFVComparison[] values()
for (SparseLongFVComparison c : SparseLongFVComparison.values()) System.out.println(c);
public static SparseLongFVComparison valueOf(String name)
name
- the name of the enum constant to be returned.IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is nullpublic boolean isDistance()
isDistance
in interface DistanceComparator<SparseLongFV>
public double compare(SparseLongFV h1, SparseLongFV h2)
DistanceComparator
compare
in interface DistanceComparator<SparseLongFV>
h1
- the first objecth2
- the second objectpublic abstract double compare(SparseLongArray h1, SparseLongArray h2)
h1
- the first feature arrayh2
- the second feature array