Class AbstractSimilarityAdapter<O>

  • Type Parameters:
    O - object class to process
    All Implemented Interfaces:
    elki.distance.Distance<O>
    Direct Known Subclasses:
    ArccosSimilarityAdapter, LinearSimilarityAdapter, LnSimilarityAdapter

    public abstract class AbstractSimilarityAdapter<O>
    extends AbstractDatabaseDistance<O>
    Adapter from a similarity function to a distance function.

    Note: The derived distance function will usually not satisfy the triangle equation.

    Since:
    0.2
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected elki.similarity.Similarity<? super O> similarityFunction
      Holds the similarity function.
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractSimilarityAdapter​(elki.similarity.Similarity<? super O> similarityFunction)
      Constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object obj)  
      elki.data.type.TypeInformation getInputTypeRestriction()  
      int hashCode()  
      abstract <T extends O>
      elki.database.query.distance.DistanceQuery<T>
      instantiate​(elki.database.relation.Relation<T> database)  
      boolean isSymmetric()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface elki.distance.Distance

        isMetric, isSquared
    • Field Detail

      • similarityFunction

        protected elki.similarity.Similarity<? super O> similarityFunction
        Holds the similarity function.
    • Constructor Detail

      • AbstractSimilarityAdapter

        public AbstractSimilarityAdapter​(elki.similarity.Similarity<? super O> similarityFunction)
        Constructor.
        Parameters:
        similarityFunction - Similarity function to use.
    • Method Detail

      • getInputTypeRestriction

        public elki.data.type.TypeInformation getInputTypeRestriction()
      • isSymmetric

        public boolean isSymmetric()
      • instantiate

        public abstract <T extends O> elki.database.query.distance.DistanceQuery<T> instantiate​(elki.database.relation.Relation<T> database)
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object