Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## weka.classifiers.lazy
Class KStar

    java.lang.Object
      weka.classifiers.Classifier
          weka.classifiers.lazy.KStar

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, KStarConstants, UpdateableClassifier, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

    public class KStar

extends Classifier
implements KStarConstants, UpdateableClassifier, TechnicalInformationHandler

K* is an instance-based classifier, that is the class of a test instance is based upon the class of those training instances similar to it, as determined by some similarity function. It differs from other instance-based learners in that it uses an entropy-based distance function.
For more information on K*, see
John G. Cleary, Leonard E. Trigg: K*: An Instance-based Learner Using an Entropic Distance Measure. In: 12th International Conference on Machine Learning, 108-114, 1995.

BibTeX:

     @inproceedings{Cleary1995,
        author = {John G. Cleary and Leonard E. Trigg},
        booktitle = {12th International Conference on Machine Learning},
        pages = {108-114},
        title = {K*: An Instance-based Learner Using an Entropic Distance Measure},
        year = {1995}
     }

Valid options are:

     -B <num>
      Manual blend setting (default 20%)

     -E
      Enable entropic auto-blend setting (symbolic class only)

     -M <char>
      Specify the missing value treatment mode (default a)
      Valid options are: a(verage), d(elete), m(axdiff), n(ormal)

Version:
  $Revision: 5525 $
Author:
  Len Trigg (len@reeltwo.com), Abdelaziz Mahoui (am14@cs.waikato.ac.nz) - Java port
See Also:
  Serialized Form

Field Summary
`static Tag[]` | `TAGS_MISSING` Define possible missing value handling methods

Fields inherited from interface weka.classifiers.lazy.kstar.KStarConstants
`B_ENTROPY, B_SPHERE, EPSILON, FLOOR, FLOOR1, INITIAL_STEP, LOG2, M_AVERAGE, M_DELETE, M_MAXDIFF, M_NORMAL, NUM_RAND_COLS, OFF, ON, ROOT_FINDER_ACCURACY, ROOT_FINDER_MAX_ITER`

Constructor Summary
`KStar()`

Method Summary
`void` | `buildClassifier(Instances instances)` Generates the classifier.
`double[]` | `distributionForInstance(Instance instance)` Calculates the class membership probabilities for the given test instance.
`java.lang.String` | `entropicAutoBlendTipText()` Returns the tip text for this property
`Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
`boolean` | `getEntropicAutoBlend()` Get whether entropic blending being used
`int` | `getGlobalBlend()` Get the value of the global blend parameter
`SelectedTag` | `getMissingMode()` Gets the method to use for handling missing values.
`java.lang.String[]` | `getOptions()` Gets the current settings of K*.
`java.lang.String` | `getRevision()` Returns the revision string.
`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.
`java.lang.String` | `globalBlendTipText()` Returns the tip text for this property
`java.lang.String` | `globalInfo()` Returns a string describing classifier
`java.util.Enumeration` | `listOptions()` Returns an enumeration describing the available options.
`static void` | `main(java.lang.String[] argv)` Main method for testing this class.
`java.lang.String` | `missingModeTipText()` Returns the tip text for this property
`void` | `setEntropicAutoBlend(boolean e)` Set whether entropic blending is to be used.
`void` | `setGlobalBlend(int b)` Set the global blend parameter
`void` | `setMissingMode(SelectedTag newMode)` Sets the method to use for handling missing values.
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`java.lang.String` | `toString()` Returns a description of this classifier.
`void` | `updateClassifier(Instance instance)` Adds the supplied instance to the training set

Methods inherited from class weka.classifiers.Classifier
`classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### TAGS_MISSING

    public static final Tag[] TAGS_MISSING

  Define possible missing value handling methods

Constructor Detail

### KStar

    public KStar()

Method Detail

### globalInfo

    public java.lang.String globalInfo()

  Returns a string describing classifier

  Returns:
    a description 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

### 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:
    `Capabilities`

### buildClassifier

    public void buildClassifier(Instances instances)
                         throws java.lang.Exception

  Generates the classifier.

  Specified by:
    `buildClassifier` in class `Classifier`
  Parameters:
    `instances` - set of instances serving as training data
  Throws:
    `java.lang.Exception` - if the classifier has not been generated successfully

### updateClassifier

    public void updateClassifier(Instance instance)
                          throws java.lang.Exception

  Adds the supplied instance to the training set

  Specified by:
    `updateClassifier` in interface `UpdateableClassifier`
  Parameters:
    `instance` - the instance to add
  Throws:
    `java.lang.Exception` - if instance could not be incorporated successfully

### distributionForInstance

    public double[] distributionForInstance(Instance instance)
                                     throws java.lang.Exception

  Calculates the class membership probabilities for the given test instance.

  Overrides:
    `distributionForInstance` in class `Classifier`
  Parameters:
    `instance` - the instance to be classified
  Returns:
    predicted class probability distribution
  Throws:
    `java.lang.Exception` - if an error occurred during the prediction

### missingModeTipText

    public java.lang.String missingModeTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### getMissingMode

    public SelectedTag getMissingMode()

  Gets the method to use for handling missing values. Will be one of M_NORMAL, M_AVERAGE, M_MAXDIFF or M_DELETE.

  Returns:
    the method used for handling missing values.

### setMissingMode

    public void setMissingMode(SelectedTag newMode)

  Sets the method to use for handling missing values. Values other than M_NORMAL, M_AVERAGE, M_MAXDIFF and M_DELETE will be ignored.

  Parameters:
    `newMode` - the method to use for handling missing values.

### 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.

### globalBlendTipText

    public java.lang.String globalBlendTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setGlobalBlend

    public void setGlobalBlend(int b)

  Set the global blend parameter

  Parameters:
    `b` - the value for global blending

### getGlobalBlend

    public int getGlobalBlend()

  Get the value of the global blend parameter

  Returns:
    the value of the global blend parameter

### entropicAutoBlendTipText

    public java.lang.String entropicAutoBlendTipText()

  Returns the tip text for this property

  Returns:
    tip text for this property suitable for displaying in the explorer/experimenter gui

### setEntropicAutoBlend

    public void setEntropicAutoBlend(boolean e)

  Set whether entropic blending is to be used.

  Parameters:
    `e` - true if entropic blending is to be used

### getEntropicAutoBlend

    public boolean getEntropicAutoBlend()

  Get whether entropic blending being used

  Returns:
    true if entropic blending is used

### setOptions

    public void setOptions(java.lang.String[] options)
                    throws java.lang.Exception

  Parses a given list of options.

  Valid options are:

       -B <num>
        Manual blend setting (default 20%)

       -E
        Enable entropic auto-blend setting (symbolic class only)

       -M <char>
        Specify the missing value treatment mode (default a)
        Valid options are: a(verage), d(elete), m(axdiff), n(ormal)

  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 K*.

  Specified by:
    `getOptions` in interface `OptionHandler`
  Overrides:
    `getOptions` in class `Classifier`
  Returns:
    an array of strings suitable for passing to setOptions()

### toString

    public java.lang.String toString()

  Returns a description of this classifier.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a description of this classifier as a string.

### main

    public static void main(java.lang.String[] argv)

  Main method for testing this class.

  Parameters:
    `argv` - should contain command line options (see setOptions)

### getRevision

    public java.lang.String getRevision()

  Returns the revision string.

  Specified by:
    `getRevision` in interface `RevisionHandler`
  Overrides:
    `getRevision` in class `Classifier`
  Returns:
    the revision

Overview | Package | Class | Tree | Deprecated | Index | Help | Weka's home
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD