Class MILR

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, CapabilitiesHandler, MultiInstanceCapabilitiesHandler, OptionHandler, RevisionHandler

    public class MILR
    extends Classifier
    implements OptionHandler, MultiInstanceCapabilitiesHandler
    Uses either standard or collective multi-instance assumption, but within linear regression. For the collective assumption, it offers arithmetic or geometric mean for the posteriors.

    Valid options are:

     -D
      Turn on debugging output.
     -R <ridge>
      Set the ridge in the log-likelihood.
     -A [0|1|2]
      Defines the type of algorithm:
       0. standard MI assumption
       1. collective MI assumption, arithmetic mean for posteriors
       2. collective MI assumption, geometric mean for posteriors
    Version:
    $Revision: 9144 $
    Author:
    Eibe Frank (eibe@cs.waikato.ac.nz), Xin Xu (xx5@cs.waikato.ac.nz)
    See Also:
    Serialized Form
    • Field Detail

      • ALGORITHMTYPE_DEFAULT

        public static final int ALGORITHMTYPE_DEFAULT
        standard MI assumption
        See Also:
        Constant Field Values
      • ALGORITHMTYPE_ARITHMETIC

        public static final int ALGORITHMTYPE_ARITHMETIC
        collective MI assumption, arithmetic mean for posteriors
        See Also:
        Constant Field Values
      • ALGORITHMTYPE_GEOMETRIC

        public static final int ALGORITHMTYPE_GEOMETRIC
        collective MI assumption, geometric mean for posteriors
        See Also:
        Constant Field Values
      • TAGS_ALGORITHMTYPE

        public static final Tag[] TAGS_ALGORITHMTYPE
        the types of algorithms
    • Constructor Detail

      • MILR

        public MILR()
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • listOptions

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

        public void setOptions​(java.lang.String[] options)
                        throws java.lang.Exception
        Parses a given list of options.
        Specified by:
        setOptions in interface OptionHandler
        Overrides:
        setOptions in class Classifier
        Parameters:
        options - the list of options as an array of strings
        Throws:
        java.lang.Exception - if an option is not supported
      • getOptions

        public java.lang.String[] getOptions()
        Gets the current settings of the classifier.
        Specified by:
        getOptions in interface OptionHandler
        Overrides:
        getOptions in class Classifier
        Returns:
        an array of strings suitable for passing to setOptions
      • ridgeTipText

        public java.lang.String ridgeTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setRidge

        public void setRidge​(double ridge)
        Sets the ridge in the log-likelihood.
        Parameters:
        ridge - the ridge
      • getRidge

        public double getRidge()
        Gets the ridge in the log-likelihood.
        Returns:
        the ridge
      • algorithmTypeTipText

        public java.lang.String algorithmTypeTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getAlgorithmType

        public SelectedTag getAlgorithmType()
        Gets the type of algorithm.
        Returns:
        the algorithm type
      • setAlgorithmType

        public void setAlgorithmType​(SelectedTag newType)
        Sets the algorithm type.
        Parameters:
        newType - the new algorithm type
      • buildClassifier

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

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

        public java.lang.String toString()
        Gets a string describing the classifier.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string describing the classifer built.
      • main

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