weka.classifiers.misc
Class HyperPipes

java.lang.Object
  extended byweka.classifiers.Classifier
      extended byweka.classifiers.misc.HyperPipes
All Implemented Interfaces:
java.lang.Cloneable, OptionHandler, java.io.Serializable

public class HyperPipes
extends Classifier

Class implementing a HyperPipe classifier. For each category a HyperPipe is constructed that contains all points of that category (essentially records the attribute bounds observed for each category). Test instances are classified according to the category that most contains the instance). Does not handle numeric class, or missing values in test cases. Extremely simple algorithm, but has the advantage of being extremely fast, and works quite well when you have smegloads of attributes.

Version:
$Revision: 1.15 $
Author:
Lucio de Souza Coelho (lucio@intelligenesis.net), Len Trigg (len@reeltwo.com)
See Also:
Serialized Form

Nested Class Summary
(package private)  class HyperPipes.HyperPipe
          Represents an n-dimensional structure that bounds all instances passed to it (generally all of a given class value).
 
Field Summary
protected  int m_ClassIndex
          The index of the class attribute
protected  HyperPipes.HyperPipe[] m_HyperPipes
          Stores the HyperPipe for each class
protected  Instances m_Instances
          The structure of the training data
 
Fields inherited from class weka.classifiers.Classifier
m_Debug
 
Constructor Summary
HyperPipes()
           
 
Method Summary
 void buildClassifier(Instances instances)
          Generates the classifier.
 double[] distributionForInstance(Instance instance)
          Classifies the given test instance.
 java.lang.String globalInfo()
          Returns a string describing classifier
static void main(java.lang.String[] argv)
          Main method for testing this class.
 java.lang.String toString()
          Returns a description of this classifier.
 void updateClassifier(Instance instance)
          Updates the classifier.
 
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, getOptions, listOptions, makeCopies, setDebug, setOptions
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_ClassIndex

protected int m_ClassIndex
The index of the class attribute


m_Instances

protected Instances m_Instances
The structure of the training data


m_HyperPipes

protected HyperPipes.HyperPipe[] m_HyperPipes
Stores the HyperPipe for each class

Constructor Detail

HyperPipes

public HyperPipes()
Method Detail

globalInfo

public java.lang.String globalInfo()
Returns a string describing classifier

Returns:
a description suitable for displaying in the explorer/experimenter gui

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
Updates the classifier.

Parameters:
instance - the instance to be put into the classifier
Throws:
java.lang.Exception - if the instance could not be included successfully

distributionForInstance

public double[] distributionForInstance(Instance instance)
                                 throws java.lang.Exception
Classifies the given test instance.

Overrides:
distributionForInstance in class Classifier
Parameters:
instance - the instance to be classified
Returns:
the predicted class for the instance
Throws:
java.lang.Exception - if the instance can't be classified

toString

public java.lang.String toString()
Returns a description of this classifier.

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 arguments for evaluation (see Evaluation).