Package 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
Fields Modifier and Type Field Description static Tag[]TAGS_MISSINGDefine 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
Constructors Constructor Description KStar()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances instances)Generates the classifier.double[]distributionForInstance(Instance instance)Calculates the class membership probabilities for the given test instance.java.lang.StringentropicAutoBlendTipText()Returns the tip text for this propertyCapabilitiesgetCapabilities()Returns default capabilities of the classifier.booleangetEntropicAutoBlend()Get whether entropic blending being usedintgetGlobalBlend()Get the value of the global blend parameterSelectedTaggetMissingMode()Gets the method to use for handling missing values.java.lang.String[]getOptions()Gets the current settings of K*.java.lang.StringgetRevision()Returns the revision string.TechnicalInformationgetTechnicalInformation()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.StringglobalBlendTipText()Returns the tip text for this propertyjava.lang.StringglobalInfo()Returns a string describing classifierjava.util.EnumerationlistOptions()Returns an enumeration describing the available options.static voidmain(java.lang.String[] argv)Main method for testing this class.java.lang.StringmissingModeTipText()Returns the tip text for this propertyvoidsetEntropicAutoBlend(boolean e)Set whether entropic blending is to be used.voidsetGlobalBlend(int b)Set the global blend parametervoidsetMissingMode(SelectedTag newMode)Sets the method to use for handling missing values.voidsetOptions(java.lang.String[] options)Parses a given list of options.java.lang.StringtoString()Returns a description of this classifier.voidupdateClassifier(Instance instance)Adds the supplied instance to the training set-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
Field Detail
-
TAGS_MISSING
public static final Tag[] TAGS_MISSING
Define possible missing value handling methods
-
-
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:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classClassifier- Returns:
- the capabilities of this classifier
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(Instances instances) throws java.lang.Exception
Generates the classifier.- Specified by:
buildClassifierin classClassifier- 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:
updateClassifierin interfaceUpdateableClassifier- 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:
distributionForInstancein classClassifier- 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:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classClassifier- 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.ExceptionParses 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:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classClassifier- 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:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classClassifier- Returns:
- an array of strings suitable for passing to setOptions()
-
toString
public java.lang.String toString()
Returns a description of this classifier.- Overrides:
toStringin classjava.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:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classClassifier- Returns:
- the revision
-
-