|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.classifiers.Classifier
weka.classifiers.lazy.KStar
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. The underlying assumption of instance-based classifiers such as K*, IB1, PEBLS, etc, is that similar instances will have similar classes. For more information on K*, see
John, G. Cleary and Leonard, E. Trigg (1995) "K*: An Instance- based Learner Using an Entropic Distance Measure", Proceedings of the 12th International Conference on Machine learning, pp. 108-114.
Field Summary | |
protected int |
m_BlendMethod
0 = use specified blend, 1 = entropic blend setting |
protected KStarCache[] |
m_Cache
A custom data structure for caching distinct attribute values and their scale factor or stop parameter. |
protected int |
m_ClassType
The class attribute type |
protected int |
m_ComputeRandomCols
Flag turning on and off the computation of random class colomns |
protected int |
m_GlobalBlend
default sphere of influence blend setting |
protected int |
m_InitFlag
Flag turning on and off the initialisation of config variables |
protected int |
m_MissingMode
missing value treatment |
protected int |
m_NumAttributes
The number of attributes |
protected int |
m_NumClasses
The number of class values |
protected int |
m_NumInstances
The number of instances in the dataset |
protected int[][] |
m_RandClassCols
Table of random class value colomns |
protected Instances |
m_Train
The training instances used for classification. |
static Tag[] |
TAGS_MISSING
Define possible missing value handling methods |
Fields inherited from class weka.classifiers.Classifier |
m_Debug |
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 | |
KStar()
|
Method Summary | |
private double |
attrTransProb(Instance first,
Instance second,
int col)
Calculates the transformation probability of the indexed test attribute to the indexed train attribute. |
void |
buildClassifier(Instances instances)
Generates the classifier. |
private int[] |
classValues()
Note: for Nominal Class Only! |
double[] |
distributionForInstance(Instance instance)
Calculates the class membership probabilities for the given test instance. |
java.lang.String |
entropicAutoBlendTipText()
Returns the tip text for this property |
private void |
generateRandomClassColomns()
Note: for Nominal Class Only! |
boolean |
getEntropicAutoBlend()
Get whether entropic blending being used |
int |
getGlobalBlend()
Get the value of the global blend parameter |
SelectedTag |
getMissingMode()
Gets the method to use for handling missing values. |
java.lang.String[] |
getOptions()
Gets the current settings of K*. |
java.lang.String |
globalBlendTipText()
Returns the tip text for this property |
java.lang.String |
globalInfo()
Returns a string describing classifier |
private void |
init_m_Attributes()
Initializes the m_Attributes of the class. |
private double |
instanceTransformationProbability(Instance first,
Instance second)
Calculate the probability of the first instance transforming into the second instance: the probability is the product of the transformation probabilities of the attributes normilized over the number of instances used. |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options. |
static void |
main(java.lang.String[] argv)
Main method for testing this class. |
java.lang.String |
missingModeTipText()
Returns the tip text for this property |
private int[] |
randomize(int[] array,
java.util.Random generator)
Returns a copy of the array with its elements randomly redistributed. |
void |
setEntropicAutoBlend(boolean e)
Set whether entropic blending is to be used. |
void |
setGlobalBlend(int b)
Set the global blend parameter |
void |
setMissingMode(SelectedTag newMode)
Sets the method to use for handling missing values. |
void |
setOptions(java.lang.String[] options)
Parses a given list of options. |
java.lang.String |
toString()
Returns a description of this classifier. |
private void |
update_m_Attributes()
Updates the m_attributes of the class. |
void |
updateClassifier(Instance instance)
Adds the supplied instance to the training set |
Methods inherited from class weka.classifiers.Classifier |
classifyInstance, debugTipText, forName, getDebug, makeCopies, setDebug |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected Instances m_Train
protected int m_NumInstances
protected int m_NumClasses
protected int m_NumAttributes
protected int m_ClassType
protected int[][] m_RandClassCols
protected int m_ComputeRandomCols
protected int m_InitFlag
protected KStarCache[] m_Cache
protected int m_MissingMode
protected int m_BlendMethod
protected int m_GlobalBlend
public static final Tag[] TAGS_MISSING
Constructor Detail |
public KStar()
Method Detail |
public java.lang.String globalInfo()
public void buildClassifier(Instances instances) throws java.lang.Exception
buildClassifier
in class Classifier
instances
- set of instances serving as training data
java.lang.Exception
- if the classifier has not been generated successfullypublic void updateClassifier(Instance instance) throws java.lang.Exception
updateClassifier
in interface UpdateableClassifier
instance
- the instance to add
java.lang.Exception
- if instance could not be incorporated successfullypublic double[] distributionForInstance(Instance instance) throws java.lang.Exception
distributionForInstance
in class Classifier
instance
- the instance to be classified
java.lang.Exception
- if an error occurred during the predictionprivate double instanceTransformationProbability(Instance first, Instance second)
first
- the test instancesecond
- the train instance
private double attrTransProb(Instance first, Instance second, int col)
first
- the test instance.second
- the train instance.col
- the index of the attribute in the instance.
public java.lang.String missingModeTipText()
public SelectedTag getMissingMode()
public void setMissingMode(SelectedTag newMode)
newMode
- the method to use for handling missing values.public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
listOptions
in class Classifier
public java.lang.String globalBlendTipText()
public void setGlobalBlend(int b)
b
- the value for global blendingpublic int getGlobalBlend()
public java.lang.String entropicAutoBlendTipText()
public void setEntropicAutoBlend(boolean e)
e
- true if entropic blending is to be usedpublic boolean getEntropicAutoBlend()
public void setOptions(java.lang.String[] options) throws java.lang.Exception
setOptions
in interface OptionHandler
setOptions
in class Classifier
options
- the list of options as an array of strings
java.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
getOptions
in class Classifier
public java.lang.String toString()
public static void main(java.lang.String[] argv)
argv
- should contain command line options (see setOptions)private void init_m_Attributes()
private void update_m_Attributes()
private void generateRandomClassColomns()
private int[] classValues()
private int[] randomize(int[] array, java.util.Random generator)
array
- the array to randomize.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |