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.trees
Class UserClassifier

    java.lang.Object
      weka.classifiers.Classifier
          weka.classifiers.trees.UserClassifier

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, CapabilitiesHandler, Drawable, OptionHandler, RevisionHandler, TechnicalInformationHandler, TreeDisplayListener, VisualizePanelListener

    public class UserClassifier

extends Classifier
implements Drawable, TreeDisplayListener, VisualizePanelListener, TechnicalInformationHandler

Interactively classify through visual means. You are Presented with a scatter graph of the data against two user selectable attributes, as well as a view of the decision tree. You can create binary splits by creating polygons around data plotted on the scatter graph, as well as by allowing another classifier to take over at points in the decision tree should you see fit.
For more information see:
Malcolm Ware, Eibe Frank, Geoffrey Holmes, Mark Hall, Ian H. Witten (2001). Interactive machine learning: letting users build classifiers. Int. J. Hum.-Comput. Stud.. 55(3):281-292.

BibTeX:

     @article{Ware2001,
        author = {Malcolm Ware and Eibe Frank and Geoffrey Holmes and Mark Hall and Ian H. Witten},
        journal = {Int. J. Hum.-Comput. Stud.},
        number = {3},
        pages = {281-292},
        title = {Interactive machine learning: letting users build classifiers},
        volume = {55},
        year = {2001},
        PS = {http://www.cs.waikato.ac.nz/\~ml/publications/2000/00MW-etal-Interactive-ML.ps}
     }

Valid options are:

     -D
      If set, classifier is run in debug mode and
      may output additional info to the console

Version:
  $Revision: 5535 $
Author:
  Malcolm Ware (mfw4@cs.waikato.ac.nz)
See Also:
  Serialized Form

Field Summary

Fields inherited from interface weka.core.Drawable
`BayesNet, Newick, NOT_DRAWABLE, TREE`

Constructor Summary
`UserClassifier()` Constructor

Method Summary
`void` | `buildClassifier(Instances i)` Call this function to build a decision tree for the training data provided.
`double[]` | `distributionForInstance(Instance i)` Call this function to get a double array filled with the probability of how likely each class type is the class of the instance.
`Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
`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` | `globalInfo()` This will return a string describing the classifier.
`java.lang.String` | `graph()` Returns a string that describes a graph representing the object.
`int` | `graphType()` Returns the type of graph this classifier represents.
`static void` | `main(java.lang.String[] argv)` Main method for testing this class.
`java.lang.String` | `toString()`
`void` | `userCommand(TreeDisplayEvent e)` Receives user choices from the tree view, and then deals with these choices.
`void` | `userDataEvent(VisualizePanelEvent e)` This receives shapes from the data view.

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

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

Constructor Detail

### UserClassifier

    public UserClassifier()

  Constructor

Method Detail

### main

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

  Main method for testing this class.

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

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a string that represents this objects tree.

### userCommand

    public void userCommand(TreeDisplayEvent e)

  Receives user choices from the tree view, and then deals with these choices.

  Specified by:
    `userCommand` in interface `TreeDisplayListener`
  Parameters:
    `e` - The choice.

### userDataEvent

    public void userDataEvent(VisualizePanelEvent e)

  This receives shapes from the data view. It then enters these shapes into the decision tree structure.

  Specified by:
    `userDataEvent` in interface `VisualizePanelListener`
  Parameters:
    `e` - Contains the shapes, and other info.

### graphType

    public int graphType()

  Returns the type of graph this classifier represents.

  Specified by:
    `graphType` in interface `Drawable`
  Returns:
    Drawable.TREE

### graph

    public java.lang.String graph()
                           throws java.lang.Exception

  Description copied from interface: `Drawable`
  Returns a string that describes a graph representing the object. The string should be in XMLBIF ver. 0.3 format if the graph is a BayesNet, otherwise it should be in dotty format.

  Specified by:
    `graph` in interface `Drawable`
  Returns:
    A string formatted with a dotty representation of the decision tree.
  Throws:
    `java.lang.Exception` - if String can't be built properly.

### globalInfo

    public java.lang.String globalInfo()

  This will return a string describing the classifier.

  Returns:
    The string.

### 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 i)
                         throws java.lang.Exception

  Call this function to build a decision tree for the training data provided.

  Specified by:
    `buildClassifier` in class `Classifier`
  Parameters:
    `i` - The training data.
  Throws:
    `java.lang.Exception` - if can't build classification properly.

### distributionForInstance

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

  Call this function to get a double array filled with the probability of how likely each class type is the class of the instance.

  Overrides:
    `distributionForInstance` in class `Classifier`
  Parameters:
    `i` - The instance to classify.
  Returns:
    A double array filled with the probalities of each class type.
  Throws:
    `java.lang.Exception` - if can't classify instance.

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