All Packages  Class Hierarchy  This Package  Previous  Next  Index  WEKA's home

Class weka.classifiers.VFI

java.lang.Object
   |
   +----weka.classifiers.Classifier
           |
           +----weka.classifiers.DistributionClassifier
                   |
                   +----weka.classifiers.VFI

public class VFI
extends DistributionClassifier
implements OptionHandler, WeightedInstancesHandler
Class implementing the voting feature interval classifier. For numeric attributes, upper and lower boundaries (intervals) are constructed around each class. Discrete attributes have point intervals. Class counts are recorded for each interval on each feature. Classification is by voting. Missing values are ignored. Does not handle numeric class.

Have added a simple attribute weighting scheme. Higher weight is assigned to more confident intervals, where confidence is a function of entropy: weight (att_i) = (entropy of class distrib att_i / max uncertainty)^-bias.

Faster than NaiveBayes but slower than HyperPipes.

  Confidence: 0.01 (two tailed)
 Dataset                   (1) VFI '-B  | (2) Hyper (3) Naive
                         ------------------------------------
 anneal.ORIG               (10)   74.56 |   97.88 v   74.77
 anneal                    (10)   71.83 |   97.88 v   86.51 v
 audiology                 (10)   51.69 |   66.26 v   72.25 v
 autos                     (10)   57.63 |   62.79 v   57.76
 balance-scale             (10)   68.72 |   46.08 *   90.5  v
 breast-cancer             (10)   67.25 |   69.84 v   73.12 v
 wisconsin-breast-cancer   (10)   95.72 |   88.31 *   96.05 v
 horse-colic.ORIG          (10)   66.13 |   70.41 v   66.12
 horse-colic               (10)   78.36 |   62.07 *   78.28
 credit-rating             (10)   85.17 |   44.58 *   77.84 *
 german_credit             (10)   70.81 |   69.89 *   74.98 v
 pima_diabetes             (10)   62.13 |   65.47 v   75.73 v
 Glass                     (10)   56.82 |   50.19 *   47.43 *
 cleveland-14-heart-diseas (10)   80.01 |   55.18 *   83.83 v
 hungarian-14-heart-diseas (10)   82.8  |   65.55 *   84.37 v
 heart-statlog             (10)   79.37 |   55.56 *   84.37 v
 hepatitis                 (10)   83.78 |   63.73 *   83.87
 hypothyroid               (10)   92.64 |   93.33 v   95.29 v
 ionosphere                (10)   94.16 |   35.9  *   82.6  *
 iris                      (10)   96.2  |   91.47 *   95.27 *
 kr-vs-kp                  (10)   88.22 |   54.1  *   87.84 *
 labor                     (10)   86.73 |   87.67     93.93 v
 lymphography              (10)   78.48 |   58.18 *   83.24 v
 mushroom                  (10)   99.85 |   99.77 *   95.77 *
 primary-tumor             (10)   29    |   24.78 *   49.35 v
 segment                   (10)   77.42 |   75.15 *   80.1  v
 sick                      (10)   65.92 |   93.85 v   92.71 v
 sonar                     (10)   58.02 |   57.17     67.97 v
 soybean                   (10)   86.81 |   86.12 *   92.9  v
 splice                    (10)   88.61 |   41.97 *   95.41 v
 vehicle                   (10)   52.94 |   32.77 *   44.8  *
 vote                      (10)   91.5  |   61.38 *   90.19 *
 vowel                     (10)   57.56 |   36.34 *   62.81 v
 waveform                  (10)   56.33 |   46.11 *   80.02 v
 zoo                       (10)   94.05 |   94.26     95.04 v
                          ------------------------------------
                                (v| |*) |  (9|3|23)  (22|5|8) 
 

For more information, see

Demiroz, G. and Guvenir, A. (1997) "Classification by voting feature intervals", ECML-97.

Valid options are:

-C
Don't Weight voting intervals by confidence.

-B
Set exponential bias towards confident intervals. default = 1.0

Author:
Mark Hall (mhall@cs.waikato.ac.nz)

Constructor Index

 o VFI()

Method Index

 o biasTipText()
Returns the tip text for this property
 o buildClassifier(Instances)
Generates the classifier.
 o distributionForInstance(Instance)
Classifies the given test instance.
 o getBias()
Get the value of the bias parameter
 o getOptions()
Gets the current settings of VFI
 o getWeightByConfidence()
Get whether feature intervals are being weighted by confidence
 o globalInfo()
Returns a string describing this search method
 o listOptions()
Returns an enumeration describing the available options
 o main(String[])
Main method for testing this class.
 o setBias(double)
Set the value of the exponential bias towards more confident intervals
 o setOptions(String[])
Parses a given list of options.
 o setWeightByConfidence(boolean)
Set weighting by confidence
 o toString()
Returns a description of this classifier.
 o weightByConfidenceTipText()
Returns the tip text for this property

Constructors

 o VFI
 public VFI()

Methods

 o globalInfo
 public String globalInfo()
Returns a string describing this search method

Returns:
a description of the search method suitable for displaying in the explorer/experimenter gui
 o listOptions
 public Enumeration listOptions()
Returns an enumeration describing the available options

Returns:
an enumeration of all the available options
 o setOptions
 public void setOptions(String options[]) throws Exception
Parses a given list of options. Valid options are:

-C
Don't weight voting intervals by confidence.

-B
Set exponential bias towards confident intervals. default = 1.0

Parameters:
options - the list of options as an array of strings
Throws: Exception
if an option is not supported
 o weightByConfidenceTipText
 public String weightByConfidenceTipText()
Returns the tip text for this property

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui
 o setWeightByConfidence
 public void setWeightByConfidence(boolean c)
Set weighting by confidence

Parameters:
c - true if feature intervals are to be weighted by confidence
 o getWeightByConfidence
 public boolean getWeightByConfidence()
Get whether feature intervals are being weighted by confidence

Returns:
true if weighting by confidence is selected
 o biasTipText
 public String biasTipText()
Returns the tip text for this property

Returns:
tip text for this property suitable for displaying in the explorer/experimenter gui
 o setBias
 public void setBias(double b)
Set the value of the exponential bias towards more confident intervals

Parameters:
b - the value of the bias parameter
 o getBias
 public double getBias()
Get the value of the bias parameter

Returns:
the bias parameter
 o getOptions
 public String[] getOptions()
Gets the current settings of VFI

Returns:
an array of strings suitable for passing to setOptions()
 o buildClassifier
 public void buildClassifier(Instances instances) throws Exception
Generates the classifier.

Parameters:
instances - set of instances serving as training data
Throws: Exception
if the classifier has not been generated successfully
Overrides:
buildClassifier in class Classifier
 o toString
 public String toString()
Returns a description of this classifier.

Returns:
a description of this classifier as a string.
Overrides:
toString in class Object
 o distributionForInstance
 public double[] distributionForInstance(Instance instance) throws Exception
Classifies the given test instance.

Parameters:
instance - the instance to be classified
Returns:
the predicted class for the instance
Throws: Exception
if the instance can't be classified
Overrides:
distributionForInstance in class DistributionClassifier
 o main
 public static void main(String args[])
Main method for testing this class.

Parameters:
args - should contain command line arguments for evaluation (see Evaluation).

All Packages  Class Hierarchy  This Package  Previous  Next  Index  WEKA's home