|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectweka.classifiers.Classifier
weka.classifiers.SingleClassifierEnhancer
weka.classifiers.RandomizableSingleClassifierEnhancer
weka.classifiers.meta.ThresholdSelector
public class ThresholdSelector
A metaclassifier that selecting a mid-point threshold on the probability output by a Classifier. The midpoint threshold is set so that a given performance measure is optimized. Currently this is the F-measure. Performance is measured either on the training data, a hold-out set or using cross-validation. In addition, the probabilities returned by the base learner can have their range expanded so that the output probabilities will reside between 0 and 1 (this is useful if the scheme normally produces probabilities in a very narrow range).
Valid options are:-C <integer> The class for which threshold is determined. Valid values are: 1, 2 (for first and second classes, respectively), 3 (for whichever class is least frequent), and 4 (for whichever class value is most frequent), and 5 (for the first class named any of "yes","pos(itive)" "1", or method 3 if no matches). (default 5).
-X <number of folds> Number of folds used for cross validation. If just a hold-out set is used, this determines the size of the hold-out set (default 3).
-R <integer> Sets whether confidence range correction is applied. This can be used to ensure the confidences range from 0 to 1. Use 0 for no range correction, 1 for correction based on the min/max values seen during threshold selection (default 0).
-E <integer> Sets the evaluation mode. Use 0 for evaluation using cross-validation, 1 for evaluation using hold-out set, and 2 for evaluation on the training data (default 1).
-M [FMEASURE|ACCURACY|TRUE_POS|TRUE_NEG|TP_RATE|PRECISION|RECALL] Measure used for evaluation (default is FMEASURE).
-manual <real> Set a manual threshold to use. This option overrides automatic selection and options pertaining to automatic selection will be ignored. (default -1, i.e. do not use a manual threshold).
-S <num> Random number seed. (default 1)
-D If set, classifier is run in debug mode and may output additional info to the console
-W Full name of base classifier. (default: weka.classifiers.functions.Logistic)
Options specific to classifier weka.classifiers.functions.Logistic:
-D Turn on debugging output.
-R <ridge> Set the ridge in the log-likelihood.
-M <number> Set the maximum number of iterations (default -1, until convergence).Options after -- are passed to the designated sub-classifier.
| Field Summary | |
|---|---|
static int |
ACCURACY
accuracy |
static int |
EVAL_CROSS_VALIDATION
n-fold cross-validation |
static int |
EVAL_TRAINING_SET
entire training set |
static int |
EVAL_TUNED_SPLIT
single tuned fold |
static int |
FMEASURE
F-measure |
static int |
OPTIMIZE_0
first class value |
static int |
OPTIMIZE_1
second class value |
static int |
OPTIMIZE_LFREQ
least frequent class value |
static int |
OPTIMIZE_MFREQ
most frequent class value |
static int |
OPTIMIZE_POS_NAME
class value name, either 'yes' or 'pos(itive)' |
static int |
PRECISION
precision |
static int |
RANGE_BOUNDS
Correct based on min/max observed |
static int |
RANGE_NONE
no range correction |
static int |
RECALL
recall |
static Tag[] |
TAGS_EVAL
The evaluation modes |
static Tag[] |
TAGS_MEASURE
the measure to use |
static Tag[] |
TAGS_OPTIMIZE
How to determine which class value to optimize for |
static Tag[] |
TAGS_RANGE
Type of correction applied to threshold range |
static int |
TP_RATE
true-positive rate |
static int |
TRUE_NEG
true-negative |
static int |
TRUE_POS
true-positive |
| Fields inherited from interface weka.core.Drawable |
|---|
BayesNet, Newick, NOT_DRAWABLE, TREE |
| Constructor Summary | |
|---|---|
ThresholdSelector()
Constructor. |
|
| Method Summary | |
|---|---|
void |
buildClassifier(Instances instances)
Generates the classifier. |
java.lang.String |
designatedClassTipText()
|
double[] |
distributionForInstance(Instance instance)
Calculates the class membership probabilities for the given test instance. |
java.lang.String |
evaluationModeTipText()
|
Capabilities |
getCapabilities()
Returns default capabilities of the classifier. |
SelectedTag |
getDesignatedClass()
Gets the method to determine which class value to optimize. |
SelectedTag |
getEvaluationMode()
Gets the evaluation mode used. |
double |
getManualThresholdValue()
Returns the value of the manual threshold. |
SelectedTag |
getMeasure()
get measure used for determining threshold |
int |
getNumXValFolds()
Get the number of folds used for cross-validation. |
java.lang.String[] |
getOptions()
Gets the current settings of the Classifier. |
SelectedTag |
getRangeCorrection()
Gets the confidence range correction mode used. |
java.lang.String |
getRevision()
Returns the revision string. |
java.lang.String |
globalInfo()
|
java.lang.String |
graph()
Returns graph describing the classifier (if possible). |
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. |
java.lang.String |
manualThresholdValueTipText()
|
java.lang.String |
measureTipText()
Tooltip for this property. |
java.lang.String |
numXValFoldsTipText()
|
java.lang.String |
rangeCorrectionTipText()
|
void |
setDesignatedClass(SelectedTag newMethod)
Sets the method to determine which class value to optimize. |
void |
setEvaluationMode(SelectedTag newMethod)
Sets the evaluation mode used. |
void |
setManualThresholdValue(double threshold)
Sets the value for a manual threshold. |
void |
setMeasure(SelectedTag newMeasure)
set measure used for determining threshold |
void |
setNumXValFolds(int newNumFolds)
Set the number of folds used for cross-validation. |
void |
setOptions(java.lang.String[] options)
Parses a given list of options. |
void |
setRangeCorrection(SelectedTag newMethod)
Sets the confidence range correction mode used. |
java.lang.String |
toString()
Returns description of the cross-validated classifier. |
| Methods inherited from class weka.classifiers.RandomizableSingleClassifierEnhancer |
|---|
getSeed, seedTipText, setSeed |
| Methods inherited from class weka.classifiers.SingleClassifierEnhancer |
|---|
classifierTipText, getClassifier, setClassifier |
| Methods inherited from class weka.classifiers.Classifier |
|---|
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int RANGE_NONE
public static final int RANGE_BOUNDS
public static final Tag[] TAGS_RANGE
public static final int EVAL_TRAINING_SET
public static final int EVAL_TUNED_SPLIT
public static final int EVAL_CROSS_VALIDATION
public static final Tag[] TAGS_EVAL
public static final int OPTIMIZE_0
public static final int OPTIMIZE_1
public static final int OPTIMIZE_LFREQ
public static final int OPTIMIZE_MFREQ
public static final int OPTIMIZE_POS_NAME
public static final Tag[] TAGS_OPTIMIZE
public static final int FMEASURE
public static final int ACCURACY
public static final int TRUE_POS
public static final int TRUE_NEG
public static final int TP_RATE
public static final int PRECISION
public static final int RECALL
public static final Tag[] TAGS_MEASURE
| Constructor Detail |
|---|
public ThresholdSelector()
| Method Detail |
|---|
public java.lang.String measureTipText()
public void setMeasure(SelectedTag newMeasure)
newMeasure - Tag representing measure to be usedpublic SelectedTag getMeasure()
public java.util.Enumeration listOptions()
listOptions in interface OptionHandlerlistOptions in class RandomizableSingleClassifierEnhancer
public void setOptions(java.lang.String[] options)
throws java.lang.Exception
-C <integer> The class for which threshold is determined. Valid values are: 1, 2 (for first and second classes, respectively), 3 (for whichever class is least frequent), and 4 (for whichever class value is most frequent), and 5 (for the first class named any of "yes","pos(itive)" "1", or method 3 if no matches). (default 5).
-X <number of folds> Number of folds used for cross validation. If just a hold-out set is used, this determines the size of the hold-out set (default 3).
-R <integer> Sets whether confidence range correction is applied. This can be used to ensure the confidences range from 0 to 1. Use 0 for no range correction, 1 for correction based on the min/max values seen during threshold selection (default 0).
-E <integer> Sets the evaluation mode. Use 0 for evaluation using cross-validation, 1 for evaluation using hold-out set, and 2 for evaluation on the training data (default 1).
-M [FMEASURE|ACCURACY|TRUE_POS|TRUE_NEG|TP_RATE|PRECISION|RECALL] Measure used for evaluation (default is FMEASURE).
-manual <real> Set a manual threshold to use. This option overrides automatic selection and options pertaining to automatic selection will be ignored. (default -1, i.e. do not use a manual threshold).
-S <num> Random number seed. (default 1)
-D If set, classifier is run in debug mode and may output additional info to the console
-W Full name of base classifier. (default: weka.classifiers.functions.Logistic)
Options specific to classifier weka.classifiers.functions.Logistic:
-D Turn on debugging output.
-R <ridge> Set the ridge in the log-likelihood.
-M <number> Set the maximum number of iterations (default -1, until convergence).Options after -- are passed to the designated sub-classifier.
setOptions in interface OptionHandlersetOptions in class RandomizableSingleClassifierEnhanceroptions - 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 OptionHandlergetOptions in class RandomizableSingleClassifierEnhancerpublic Capabilities getCapabilities()
getCapabilities in interface CapabilitiesHandlergetCapabilities in class SingleClassifierEnhancerCapabilities
public void buildClassifier(Instances instances)
throws java.lang.Exception
buildClassifier in class Classifierinstances - set of instances serving as training data
java.lang.Exception - if the classifier has not been generated successfully
public double[] distributionForInstance(Instance instance)
throws java.lang.Exception
distributionForInstance in class Classifierinstance - the instance to be classified
java.lang.Exception - if instance could not be classified
successfullypublic java.lang.String globalInfo()
public java.lang.String designatedClassTipText()
public SelectedTag getDesignatedClass()
public void setDesignatedClass(SelectedTag newMethod)
newMethod - the new class selection mode.public java.lang.String evaluationModeTipText()
public void setEvaluationMode(SelectedTag newMethod)
newMethod - the new evaluation mode.public SelectedTag getEvaluationMode()
public java.lang.String rangeCorrectionTipText()
public void setRangeCorrection(SelectedTag newMethod)
newMethod - the new correciton mode.public SelectedTag getRangeCorrection()
public java.lang.String numXValFoldsTipText()
public int getNumXValFolds()
public void setNumXValFolds(int newNumFolds)
newNumFolds - the number of folds used for cross-validation.public int graphType()
graphType in interface Drawable
public java.lang.String graph()
throws java.lang.Exception
graph in interface Drawablejava.lang.Exception - if the classifier cannot be graphedpublic java.lang.String manualThresholdValueTipText()
public void setManualThresholdValue(double threshold)
throws java.lang.Exception
threshold - the manual threshold to use
java.lang.Exceptionpublic double getManualThresholdValue()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class Classifierpublic static void main(java.lang.String[] argv)
argv - the options
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||