Class CitationKNN

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.mi.CitationKNN
All Implemented Interfaces:
Serializable, Cloneable, CapabilitiesHandler, MultiInstanceCapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

Modified version of the Citation kNN multi instance classifier.

For more information see:

Jun Wang, Zucker, Jean-Daniel: Solving Multiple-Instance Problem: A Lazy Learning Approach. In: 17th International Conference on Machine Learning, 1119-1125, 2000.

BibTeX:

 @inproceedings{Wang2000,
    author = {Jun Wang and Zucker and Jean-Daniel},
    booktitle = {17th International Conference on Machine Learning},
    editor = {Pat Langley},
    pages = {1119-1125},
    title = {Solving Multiple-Instance Problem: A Lazy Learning Approach},
    year = {2000}
 }
 

Valid options are:

 -R <number of references>
  Number of Nearest References (default 1)
 -C <number of citers>
  Number of Nearest Citers (default 1)
 -H <rank>
  Rank of the Hausdorff Distance (default 1)
Version:
$Revision: 9146 $
Author:
Miguel Garcia Torres (mgarciat@ull.es)
See Also:
  • Constructor Details

    • CitationKNN

      public CitationKNN()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this filter
      Returns:
      a description of the filter suitable for displaying in the explorer/experimenter gui
    • getTechnicalInformation

      public TechnicalInformation getTechnicalInformation()
      Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
      Specified by:
      getTechnicalInformation in interface TechnicalInformationHandler
      Returns:
      the technical information about this class
    • preprocessData

      public void preprocessData()
      Calculates the normalization of each attribute.
    • HDRankTipText

      public String HDRankTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setHDRank

      public void setHDRank(int hDRank)
      Sets the rank associated to the Hausdorff distance
      Parameters:
      hDRank - the rank of the Hausdorff distance
    • getHDRank

      public int getHDRank()
      Returns the rank associated to the Hausdorff distance
      Returns:
      the rank number
    • numReferencesTipText

      public String numReferencesTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setNumReferences

      public void setNumReferences(int numReferences)
      Sets the number of references considered to estimate the class prediction of tests bags
      Parameters:
      numReferences - the number of references
    • getNumReferences

      public int getNumReferences()
      Returns the number of references considered to estimate the class prediction of tests bags
      Returns:
      the number of references
    • numCitersTipText

      public String numCitersTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setNumCiters

      public void setNumCiters(int numCiters)
      Sets the number of citers considered to estimate the class prediction of tests bags
      Parameters:
      numCiters - the number of citers
    • getNumCiters

      public int getNumCiters()
      Returns the number of citers considered to estimate the class prediction of tests bags
      Returns:
      the number of citers
    • getCapabilities

      public Capabilities getCapabilities()
      Returns default capabilities of the classifier.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class Classifier
      Returns:
      the capabilities of this classifier
      See Also:
    • getMultiInstanceCapabilities

      public Capabilities getMultiInstanceCapabilities()
      Returns the capabilities of this multi-instance classifier for the relational data.
      Specified by:
      getMultiInstanceCapabilities in interface MultiInstanceCapabilitiesHandler
      Returns:
      the capabilities of this object
      See Also:
    • buildClassifier

      public void buildClassifier(Instances train) throws Exception
      Builds the classifier
      Specified by:
      buildClassifier in class Classifier
      Parameters:
      train - the training data to be used for generating the boosted classifier.
      Throws:
      Exception - if the classifier could not be built successfully
    • buildCNN

      public void buildCNN() throws Exception
      generates all the variables associated to the citation classifier
      Throws:
      Exception - if generation fails
    • countBagCiters

      public void countBagCiters(Instance bag)
      calculates the citers associated to a bag
      Parameters:
      bag - the bag cited
    • countBagReferences

      public void countBagReferences(Instance bag)
      Calculates the references of the exemplar bag
      Parameters:
      bag - the exemplar to which the nearest references will be calculated
    • distanceSet

      public double distanceSet(Instance first, Instance second)
      Calculates the distance between two instances
      Parameters:
      first - instance
      second - instance
      Returns:
      the distance value
    • distance

      public double distance(Instance first, Instance second)
      distance between two instances
      Parameters:
      first - the first instance
      second - the other instance
      Returns:
      the distance in double precision
    • distributionForInstance

      public double[] distributionForInstance(Instance bag) throws Exception
      Computes the distribution for a given exemplar
      Overrides:
      distributionForInstance in class Classifier
      Parameters:
      bag - the exemplar for which distribution is computed
      Returns:
      the distribution
      Throws:
      Exception - if the distribution can't be computed successfully
    • updateNormalization

      public void updateNormalization(Instance bag)
      Updates the normalization of each attribute.
      Parameters:
      bag - the exemplar to update the normalization for
    • equalExemplars

      public boolean equalExemplars(Instance exemplar1, Instance exemplar2)
      Wether the instances of two exemplars are or are not equal
      Parameters:
      exemplar1 - first exemplar
      exemplar2 - second exemplar
      Returns:
      if the instances of the exemplars are equal or not
    • listOptions

      public Enumeration listOptions()
      Returns an enumeration of all the available options..
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class Classifier
      Returns:
      an enumeration of all available options.
    • setOptions

      public void setOptions(String[] options) throws Exception
      Sets the OptionHandler's options using the given list. All options will be set (or reset) during this call (i.e. incremental setting of options is not possible).

      Valid options are:

       -R <number of references>
        Number of Nearest References (default 1)
       -C <number of citers>
        Number of Nearest Citers (default 1)
       -H <rank>
        Rank of the Hausdorff Distance (default 1)
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class Classifier
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current option settings for the OptionHandler.
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class Classifier
      Returns:
      the list of current option settings as an array of strings
    • toString

      public String toString()
      returns a string representation of the classifier
      Overrides:
      toString in class Object
      Returns:
      the string representation
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class Classifier
      Returns:
      the revision
    • main

      public static void main(String[] argv)
      Main method for testing this class.
      Parameters:
      argv - should contain the command line arguments to the scheme (see Evaluation)