@Beta @PublicAPI public class TverskyParameters extends Object implements MetricMetadata, BinaryVectorComparator, Serializable
Please note that this class is marked with @Beta annotation, so it can be subject of incompatible changes or removal in later releases.
| Modifier and Type | Class and Description |
|---|---|
static class |
TverskyParameters.Builder
Builder for parameter object.
|
BinaryVectorComparator.Util| Modifier | Constructor and Description |
|---|---|
|
TverskyParameters()
Instantiate with default values.
|
|
TverskyParameters(double coeffQuery,
double coeffTarget)
Instantiate with weights.
|
protected |
TverskyParameters(TverskyParameters.Builder builder)
Instantiate with builder's actual state.
|
| Modifier and Type | Method and Description |
|---|---|
double |
calculateBinaryVectorDissimilarity(int bitCount,
int targetOnly,
int queryOnly,
int common)
Calculate represented dissimilarity score from binary vector parameters.
|
double |
calculateBinaryVectorSimilarity(int bitCount,
int targetOnly,
int queryOnly,
int common)
Calculate represented similarity score from binary vector parameters.
|
double |
getCoeffQuery()
Query side coefficient.
|
double |
getCoeffTarget()
Target side coefficient.
|
double |
getLowerBoundForBinaryVectors(int bitCount)
Possible lowest value of similarity/dissimilarity scores.
|
UnguardedDissimilarityCalculator<long[]> |
getUnguardedDissimilarityCalculator(int bitCount)
Get a suitable dissimilarity calculator for unguarded packed
long[] representations. |
double |
getUpperBoundForBinaryVectors(int bitCount)
Possible highest value of similarity/dissimilarity scores.
|
boolean |
isDissimilarityZeroIFFEquals()
Zero dissimilarity and identity.
|
boolean |
isMetricSpace()
Metric space.
|
boolean |
isNonNegative()
Non negativeness of the dissimilarity values.
|
boolean |
isSymmetric()
Symmetry.
|
boolean |
isTriangeInequalityHolds()
Triangle inequality.
|
static TverskyParameters |
of(double coeffQuery,
double coeffTarget)
Convenience factory function.
|
String |
toString() |
protected TverskyParameters(TverskyParameters.Builder builder)
builder - State to representpublic TverskyParameters()
public TverskyParameters(double coeffQuery,
double coeffTarget)
coeffQuery - Query side coefficientcoeffTarget - Target side coefficientpublic boolean isSymmetric()
MetricMetadataisSymmetric in interface MetricMetadatad(x,y) = d(y,x)public boolean isNonNegative()
MetricMetadataisNonNegative in interface MetricMetadatad(x,y) >= 0public boolean isDissimilarityZeroIFFEquals()
MetricMetadataisDissimilarityZeroIFFEquals in interface MetricMetadatapublic boolean isTriangeInequalityHolds()
MetricMetadataisTriangeInequalityHolds in interface MetricMetadatad(x,z) <= d(x,y) + d( y,z)public boolean isMetricSpace()
MetricMetadataisMetricSpace in interface MetricMetadatapublic double calculateBinaryVectorDissimilarity(int bitCount,
int targetOnly,
int queryOnly,
int common)
BinaryVectorComparatorcalculateBinaryVectorDissimilarity in interface BinaryVectorComparatorbitCount - Length of binary vectors in bitstargetOnly - Number of bit positions where only target contains set bitsqueryOnly - Number of bit positions where only query contains set bitscommon - Number of bit positions where both query and target contains set bitspublic double calculateBinaryVectorSimilarity(int bitCount,
int targetOnly,
int queryOnly,
int common)
BinaryVectorComparatorcalculateBinaryVectorSimilarity in interface BinaryVectorComparatorbitCount - Length of binary vectors in bitstargetOnly - Number of bit positions where only target contains set bitsqueryOnly - Number of bit positions where only query contains set bitscommon - Number of bit positions where both query and target contains set bitspublic double getLowerBoundForBinaryVectors(int bitCount)
BinaryVectorComparatorgetLowerBoundForBinaryVectors in interface BinaryVectorComparatorbitCount - Length of binary vectors in bitspublic double getUpperBoundForBinaryVectors(int bitCount)
BinaryVectorComparatorgetUpperBoundForBinaryVectors in interface BinaryVectorComparatorbitCount - Length of binary vectors in bitspublic double getCoeffQuery()
public double getCoeffTarget()
public UnguardedDissimilarityCalculator<long[]> getUnguardedDissimilarityCalculator(int bitCount)
BinaryVectorComparatorlong[] representations.getUnguardedDissimilarityCalculator in interface BinaryVectorComparatorbitCount - Bit count of the fingerprints; always is a multiply of 64public static TverskyParameters of(double coeffQuery, double coeffTarget)
coeffQuery - Query side penalty coefficientcoeffTarget - Target side penalty coefficient