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 FT

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

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

    public class FT

extends Classifier
implements OptionHandler, AdditionalMeasureProducer, Drawable, TechnicalInformationHandler

Classifier for building 'Functional trees', which are classification trees that could have logistic regression functions at the inner nodes and/or leaves. The algorithm can deal with binary and multi-class target variables, numeric and nominal attributes and missing values.
For more information see:
Joao Gama (2004). Functional Trees.
Niels Landwehr, Mark Hall, Eibe Frank (2005). Logistic Model Trees.

BibTeX:

     @article{Gama2004,
        author = {Joao Gama},
        booktitle = {Machine Learning},
        number = {3},
        pages = {219-250},
        title = {Functional Trees},
        volume = {55},
        year = {2004}
     }

     @article{Landwehr2005,
        author = {Niels Landwehr and Mark Hall and Eibe Frank},
        booktitle = {Machine Learning},
        number = {1-2},
        pages = {161-205},
        title = {Logistic Model Trees},
        volume = {95},
        year = {2005}
     }

Valid options are:

     -B
      Binary splits (convert nominal attributes to binary ones)

     -P
      Use error on probabilities instead of misclassification error for stopping criterion of LogitBoost.

     -I <numIterations>
      Set fixed number of iterations for LogitBoost (instead of using cross-validation)

     -F <modelType>
      Set Funtional Tree type to be generate:  0 for FT, 1 for FTLeaves and 2 for FTInner

     -M <numInstances>
      Set minimum number of instances at which a node can be split (default 15)

     -W <beta>
      Set beta for weight trimming for LogitBoost. Set to 0 (default) for no weight trimming.

     -A
      The AIC is used to choose the best iteration.

Version:
  $Revision: 5535 $
Author:
  Jo\~{a}o Gama, Carlos Ferreira
See Also:
  Serialized Form

Field Summary
`static int` | `MODEL_FT` model types
`static int` | `MODEL_FTInner`
`static int` | `MODEL_FTLeaves`
`static Tag[]` | `TAGS_MODEL` possible model types.

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

Constructor Summary
`FT()` Creates an instance of FT with standard options

Method Summary
`java.lang.String` | `binSplitTipText()` Returns the tip text for this property
`void` | `buildClassifier(Instances data)` Builds the classifier.
`double` | `classifyInstance(Instance instance)` Classifies an instance.
`double[]` | `distributionForInstance(Instance instance)` Returns class probabilities for an instance.
`java.util.Enumeration` | `enumerateMeasures()` Returns an enumeration of the additional measure names
`java.lang.String` | `errorOnProbabilitiesTipText()` Returns the tip text for this property
`boolean` | `getBinSplit()` Get the value of binarySplits.
`Capabilities` | `getCapabilities()` Returns default capabilities of the classifier.
`boolean` | `getErrorOnProbabilities()` Get the value of errorOnProbabilities.
`double` | `getMeasure(java.lang.String additionalMeasureName)` Returns the value of the named measure
`int` | `getMinNumInstances()` Get the value of minNumInstances.
`SelectedTag` | `getModelType()` Get the type of functional tree model being used.
`int` | `getNumBoostingIterations()` Get the value of numBoostingIterations.
`java.lang.String[]` | `getOptions()` Gets the current settings 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.
`boolean` | `getUseAIC()` Get the value of useAIC.
`double` | `getWeightTrimBeta()` Get the value of weightTrimBeta.
`java.lang.String` | `globalInfo()` Returns a string describing classifier
`java.lang.String` | `graph()` Returns graph describing the tree.
`int` | `graphType()` Returns the type of graph this classifier represents.
`java.util.Enumeration` | `listOptions()` Returns an enumeration describing the available options.
`static void` | `main(java.lang.String[] argv)` Main method for testing this class
`int` | `measureNumLeaves()` Returns the number of leaves in the tree
`int` | `measureTreeSize()` Returns the size of the tree
`java.lang.String` | `minNumInstancesTipText()` Returns the tip text for this property
`java.lang.String` | `modelTypeTipText()` Returns the tip text for this property
`java.lang.String` | `numBoostingIterationsTipText()` Returns the tip text for this property
`void` | `setBinSplit(boolean c)` Set the value of binarySplits.
`void` | `setErrorOnProbabilities(boolean c)` Set the value of errorOnProbabilities.
`void` | `setMinNumInstances(int c)` Set the value of minNumInstances.
`void` | `setModelType(SelectedTag newMethod)` Set the Functional Tree type.
`void` | `setNumBoostingIterations(int c)` Set the value of numBoostingIterations.
`void` | `setOptions(java.lang.String[] options)` Parses a given list of options.
`void` | `setUseAIC(boolean c)` Set the value of useAIC.
`void` | `setWeightTrimBeta(double n)` Set the value of weightTrimBeta.
`java.lang.String` | `toString()` Returns a description of the classifier.
`java.lang.String` | `useAICTipText()` Returns the tip text for this property
`java.lang.String` | `weightTrimBetaTipText()` Returns the tip text for this property

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

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

Field Detail

### MODEL_FT

    public static final int MODEL_FT

  model types

  See Also:
    Constant Field Values

### MODEL_FTLeaves

    public static final int MODEL_FTLeaves

See Also:
  Constant Field Values

### MODEL_FTInner

    public static final int MODEL_FTInner

See Also:
  Constant Field Values

### TAGS_MODEL

    public static final Tag[] TAGS_MODEL

  possible model types.

Constructor Detail

### FT

    public FT()

  Creates an instance of FT with standard options

Method Detail

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

  Builds the classifier.

  Specified by:
    `buildClassifier` in class `Classifier`
  Parameters:
    `data` - the data to train with
  Throws:
    `java.lang.Exception` - if classifier can't be built successfully

### distributionForInstance

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

  Returns class probabilities for an instance.

  Overrides:
    `distributionForInstance` in class `Classifier`
  Parameters:
    `instance` - the instance to compute the distribution for
  Returns:
    the class probabilities
  Throws:
    `java.lang.Exception` - if distribution can't be computed successfully

### classifyInstance

    public double classifyInstance(Instance instance)
                            throws java.lang.Exception

  Classifies an instance.

  Overrides:
    `classifyInstance` in class `Classifier`
  Parameters:
    `instance` - the instance to classify
  Returns:
    the classification
  Throws:
    `java.lang.Exception` - if instance can't be classified successfully

### toString

    public java.lang.String toString()

  Returns a description of the classifier.

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a string representation of the classifier

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

  Valid options are:

       -B
        Binary splits (convert nominal attributes to binary ones)

       -P
        Use error on probabilities instead of misclassification error for stopping criterion of LogitBoost.

       -I <numIterations>
        Set fixed number of iterations for LogitBoost (instead of using cross-validation)

       -F <modelType>
        Set Funtional Tree type to be generate:  0 for FT, 1 for FTLeaves and 2 for FTInner

       -M <numInstances>
        Set minimum number of instances at which a node can be split (default 15)

       -W <beta>
        Set beta for weight trimming for LogitBoost. Set to 0 (default) for no weight trimming.

       -A
        The AIC is used to choose the best iteration.

  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

### getWeightTrimBeta

    public double getWeightTrimBeta()

  Get the value of weightTrimBeta.

### getUseAIC

    public boolean getUseAIC()

  Get the value of useAIC.

  Returns:
    Value of useAIC.

### setWeightTrimBeta

    public void setWeightTrimBeta(double n)

  Set the value of weightTrimBeta.

### setUseAIC

    public void setUseAIC(boolean c)

  Set the value of useAIC.

  Parameters:
    `c` - Value to assign to useAIC.

### getBinSplit

    public boolean getBinSplit()

  Get the value of binarySplits.

  Returns:
    Value of binarySplits.

### getErrorOnProbabilities

    public boolean getErrorOnProbabilities()

  Get the value of errorOnProbabilities.

  Returns:
    Value of errorOnProbabilities.

### getNumBoostingIterations

    public int getNumBoostingIterations()

  Get the value of numBoostingIterations.

  Returns:
    Value of numBoostingIterations.

### getModelType

    public SelectedTag getModelType()

  Get the type of functional tree model being used.

  Returns:
    the type of functional tree model.

### setModelType

    public void setModelType(SelectedTag newMethod)

  Set the Functional Tree type.

  Parameters:
    `c` - Value corresponding to tree type.

### getMinNumInstances

    public int getMinNumInstances()

  Get the value of minNumInstances.

  Returns:
    Value of minNumInstances.

### setBinSplit

    public void setBinSplit(boolean c)

  Set the value of binarySplits.

  Parameters:
    `c` - Value to assign to binarySplits.

### setErrorOnProbabilities

    public void setErrorOnProbabilities(boolean c)

  Set the value of errorOnProbabilities.

  Parameters:
    `c` - Value to assign to errorOnProbabilities.

### setNumBoostingIterations

    public void setNumBoostingIterations(int c)

  Set the value of numBoostingIterations.

  Parameters:
    `c` - Value to assign to numBoostingIterations.

### setMinNumInstances

    public void setMinNumInstances(int c)

  Set the value of minNumInstances.

  Parameters:
    `c` - Value to assign to minNumInstances.

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

  Returns graph describing the tree.

  Specified by:
    `graph` in interface `Drawable`
  Returns:
    the graph describing the tree
  Throws:
    `java.lang.Exception` - if graph can't be computed

### measureTreeSize

    public int measureTreeSize()

  Returns the size of the tree

  Returns:
    the size of the tree

### measureNumLeaves

    public int measureNumLeaves()

  Returns the number of leaves in the tree

  Returns:
    the number of leaves in the tree

### enumerateMeasures

    public java.util.Enumeration enumerateMeasures()

  Returns an enumeration of the additional measure names

  Specified by:
    `enumerateMeasures` in interface `AdditionalMeasureProducer`
  Returns:
    an enumeration of the measure names

### getMeasure

    public double getMeasure(java.lang.String additionalMeasureName)

  Returns the value of the named measure

  Specified by:
    `getMeasure` in interface `AdditionalMeasureProducer`
  Parameters:
    `additionalMeasureName` - the name of the measure to query for its value
  Returns:
    the value of the named measure
  Throws:
    `java.lang.IllegalArgumentException` - if the named measure is not supported

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

### modelTypeTipText

    public java.lang.String modelTypeTipText()

  Returns the tip text for this property

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

### binSplitTipText

    public java.lang.String binSplitTipText()

  Returns the tip text for this property

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

### errorOnProbabilitiesTipText

    public java.lang.String errorOnProbabilitiesTipText()

  Returns the tip text for this property

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

### numBoostingIterationsTipText

    public java.lang.String numBoostingIterationsTipText()

  Returns the tip text for this property

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

### minNumInstancesTipText

    public java.lang.String minNumInstancesTipText()

  Returns the tip text for this property

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

### weightTrimBetaTipText

    public java.lang.String weightTrimBetaTipText()

  Returns the tip text for this property

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

### useAICTipText

    public java.lang.String useAICTipText()

  Returns the tip text for this property

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

### getRevision

    public java.lang.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(java.lang.String[] argv)

  Main method for testing this class

  Parameters:
    `argv` - the commandline options

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