|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.experiment.ActiveFeatureAcquisitionCVResultProducer
Does an N-fold cross-validation, but generates a learning curve by also varying the number of training examples. Creates a split that uses increasingly larger fractions of the full training set from the N fold but always using the same N-fold test set for testing. If this is applied to an active learner, then the training examples are selected actively by the learner from the pool of unlabeled examples. If this is not used with an active learner, it should produce the same results as the LearningCurveCrossValidationResultProducer.
Field Summary | |
static java.lang.String |
DATASET_FIELD_NAME
|
static java.lang.String |
FOLD_FIELD_NAME
|
static java.lang.String |
FRACTION_FIELD_NAME
|
protected double |
m_AblationLevel
Ablational level |
protected java.lang.String[] |
m_AdditionalMeasures
The names of any additional measures to look for in SplitEvaluators |
protected int |
m_CurrentSize
The current dataset size during stepping |
protected boolean |
m_debugOutput
Save raw output of split evaluators --- for debugging purposes |
protected Instances |
m_Instances
The dataset of interest |
protected boolean |
m_IsFraction
|
protected int |
m_LowerSize
The minimum number of instances to use. |
protected int |
m_NonLocalEndIndex
|
protected int |
m_NonLocalStartIndex
Indices for range of non-local features (to be acquired) |
protected int |
m_NumFolds
The number of folds in the cross-validation |
protected java.io.File |
m_OutputFile
The destination output file/directory for raw output |
protected double[] |
m_PlotPoints
The specific points to plot, either integers representing specific numbers of training examples, or decimal fractions representing percentages of the full training set |
protected ResultListener |
m_ResultListener
The ResultListener to send results to |
protected SplitEvaluator |
m_SplitEvaluator
The SplitEvaluator used to generate results |
protected int |
m_StepSize
The number of instances to add at each step |
protected int |
m_UpperSize
The maximum number of instances to use. |
protected OutputZipper |
m_ZipDest
The output zipper to use for saving raw splitEvaluator output |
static java.lang.String |
RUN_FIELD_NAME
|
static java.lang.String |
STEP_FIELD_NAME
|
static java.lang.String |
TIMESTAMP_FIELD_NAME
|
Constructor Summary | |
ActiveFeatureAcquisitionCVResultProducer()
|
Method Summary | |
protected void |
ablateFeatures(Instances local)
Replace non local features with missing values |
protected void |
addInstances(Instances data,
Instances newData)
Add new instances to the given set of instances. |
void |
doRun(int run)
Gets the results for a specified run number. |
void |
doRunKeys(int run)
Gets the keys for a specified run number. |
java.util.Enumeration |
enumerateMeasures()
Returns an enumeration of any additional measure names that might be in the SplitEvaluator |
double |
getAblationLevel()
|
java.lang.String |
getCompatibilityState()
Gets a description of the internal settings of the result producer, sufficient for distinguishing a ResultProducer instance from another with different settings (ignoring those settings set through this interface). |
java.lang.String[] |
getKeyNames()
Gets the names of each of the columns produced for a single run. |
java.lang.Object[] |
getKeyTypes()
Gets the data types of each of the columns produced for a single run. |
int |
getLowerSize()
Get the value of LowerSize. |
double |
getMeasure(java.lang.String additionalMeasureName)
Returns the value of the named measure |
int |
getNumFolds()
Get the value of NumFolds. |
java.lang.String[] |
getOptions()
Gets the current settings of the result producer. |
java.io.File |
getOutputFile()
Get the value of OutputFile. |
java.lang.String |
getPlotPoints()
Get the value of PlotPoints. |
boolean |
getRawOutput()
Get if raw split evaluator output is to be saved |
java.lang.String[] |
getResultNames()
Gets the names of each of the columns produced for a single run. |
java.lang.Object[] |
getResultTypes()
Gets the data types of each of the columns produced for a single run. |
SplitEvaluator |
getSplitEvaluator()
Get the SplitEvaluator. |
int |
getStepSize()
Get the value of StepSize. |
static java.lang.Double |
getTimestamp()
Gets a Double representing the current date and time. |
int |
getUpperSize()
Get the value of UpperSize. |
java.lang.String |
globalInfo()
Returns a string describing this result producer |
protected static boolean |
isInteger(double val)
Return true if the given double represents an integer value |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options.. |
java.lang.String |
lowerSizeTipText()
Returns the tip text for this property |
static void |
main(java.lang.String[] args)
|
protected int |
maxTrainSize()
Get the maximum size of the training set based on upperSize limit or maximum training set size from the n-fold CV |
java.lang.String |
numFoldsTipText()
Returns the tip text for this property |
java.lang.String |
outputFileTipText()
Returns the tip text for this property |
protected double[] |
parsePlotPoints(java.lang.String plotPoints)
Parse a string of doubles separated by commas or spaces into a sorted array of doubles |
protected int |
plotPoint(int i)
Return the number of training examples for the ith point on the curve for plotPoints as specified. |
java.lang.String |
plotPointsTipText()
Returns the tip text for this property |
void |
postProcess()
Perform any postprocessing. |
void |
preProcess()
Prepare to generate results. |
java.lang.String |
rawOutputTipText()
Returns the tip text for this property |
void |
setAblationLevel(double abLevel)
|
void |
setAdditionalMeasures(java.lang.String[] additionalMeasures)
Set a list of method names for additional measures to look for in SplitEvaluators. |
void |
setInstances(Instances instances)
Sets the dataset that results will be obtained for. |
protected boolean |
setIsFraction()
Determines if the points specified are fractions of the total number of examples |
void |
setLowerSize(int newLowerSize)
Set the value of LowerSize. |
void |
setNumFolds(int newNumFolds)
Set the value of NumFolds. |
void |
setOptions(java.lang.String[] options)
Parses a given list of options. |
void |
setOutputFile(java.io.File newOutputFile)
Set the value of OutputFile. |
void |
setPlotPoints(java.lang.String plotPoints)
Set the value of PlotPoints. |
void |
setRawOutput(boolean d)
Set to true if raw split evaluator output is to be saved |
void |
setResultListener(ResultListener listener)
Sets the object to send results of each run to. |
void |
setSplitEvaluator(SplitEvaluator newSplitEvaluator)
Set the SplitEvaluator. |
void |
setStepSize(int newStepSize)
Set the value of StepSize. |
void |
setUpperSize(int newUpperSize)
Set the value of UpperSize. |
java.lang.String |
splitEvaluatorTipText()
Returns the tip text for this property |
java.lang.String |
stepSizeTipText()
Returns the tip text for this property |
java.lang.String |
toString()
Gets a text descrption of the result producer. |
protected void |
transferInstances(Instances local,
Instances global,
java.util.HashMap localToGlobal,
int num)
Use current classifier to actively select specified number of instances to be transfered from the local to global pool |
protected void |
transferRandomInstances(Instances local,
Instances global,
java.util.HashMap localToGlobal,
int num)
Randomly select specified number of instances to be transfered from the local to global pool |
java.lang.String |
upperSizeTipText()
Returns the tip text for this property |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected int m_NonLocalStartIndex
protected int m_NonLocalEndIndex
protected double m_AblationLevel
protected Instances m_Instances
protected ResultListener m_ResultListener
protected int m_NumFolds
protected boolean m_debugOutput
protected OutputZipper m_ZipDest
protected java.io.File m_OutputFile
protected SplitEvaluator m_SplitEvaluator
protected java.lang.String[] m_AdditionalMeasures
protected int m_LowerSize
protected int m_UpperSize
protected int m_StepSize
protected double[] m_PlotPoints
protected int m_CurrentSize
public static java.lang.String DATASET_FIELD_NAME
public static java.lang.String RUN_FIELD_NAME
public static java.lang.String FOLD_FIELD_NAME
public static java.lang.String TIMESTAMP_FIELD_NAME
public static java.lang.String STEP_FIELD_NAME
public static java.lang.String FRACTION_FIELD_NAME
protected boolean m_IsFraction
Constructor Detail |
public ActiveFeatureAcquisitionCVResultProducer()
Method Detail |
public java.lang.String globalInfo()
public void setAblationLevel(double abLevel)
public double getAblationLevel()
public void setInstances(Instances instances)
setInstances
in interface ResultProducer
instances
- a value of type 'Instances'.public void setResultListener(ResultListener listener)
setResultListener
in interface ResultProducer
listener
- a value of type 'ResultListener'public void setAdditionalMeasures(java.lang.String[] additionalMeasures)
setAdditionalMeasures
in interface ResultProducer
additionalMeasures
- an array of measure names, null if nonepublic java.util.Enumeration enumerateMeasures()
enumerateMeasures
in interface AdditionalMeasureProducer
public double getMeasure(java.lang.String additionalMeasureName)
getMeasure
in interface AdditionalMeasureProducer
additionalMeasureName
- the name of the measure to query for its value
java.lang.IllegalArgumentException
- if the named measure is not supportedpublic static java.lang.Double getTimestamp()
public void preProcess() throws java.lang.Exception
preProcess
in interface ResultProducer
java.lang.Exception
- if an error occurs during preprocessing.public void postProcess() throws java.lang.Exception
postProcess
in interface ResultProducer
java.lang.Exception
- if an error occurspublic void doRunKeys(int run) throws java.lang.Exception
doRunKeys
in interface ResultProducer
run
- the run number to get keys for.
java.lang.Exception
- if a problem occurs while getting the keysprotected int maxTrainSize()
public void doRun(int run) throws java.lang.Exception
doRun
in interface ResultProducer
run
- the run number to get results for.
java.lang.Exception
- if a problem occurs while getting the resultsprotected void transferInstances(Instances local, Instances global, java.util.HashMap localToGlobal, int num) throws java.lang.Exception
local
- instances with only local featuresglobal
- instances with global featureslocalToGlobal
- map from local to corresponding global instancesnum
- number of instances to pick from the pool
java.lang.Exception
protected void transferRandomInstances(Instances local, Instances global, java.util.HashMap localToGlobal, int num) throws java.lang.Exception
local
- instances with only local featuresglobal
- instances with global featureslocalToGlobal
- map from local to corresponding global instancesnum
- number of instances to pick from the pool
java.lang.Exception
protected void ablateFeatures(Instances local)
local
- instances that will be reduced to local featuresprotected void addInstances(Instances data, Instances newData)
data
- given instancesnewData
- set of instances to add to given instancesprotected boolean setIsFraction()
protected int plotPoint(int i)
protected static boolean isInteger(double val)
public java.lang.String[] getKeyNames()
getKeyNames
in interface ResultProducer
public java.lang.Object[] getKeyTypes()
getKeyTypes
in interface ResultProducer
public java.lang.String[] getResultNames()
getResultNames
in interface ResultProducer
public java.lang.Object[] getResultTypes()
getResultTypes
in interface ResultProducer
public java.lang.String getCompatibilityState()
getCompatibilityState
in interface ResultProducer
public java.lang.String outputFileTipText()
public java.io.File getOutputFile()
public void setOutputFile(java.io.File newOutputFile)
newOutputFile
- Value to assign to OutputFile.public java.lang.String numFoldsTipText()
public int getNumFolds()
public void setNumFolds(int newNumFolds)
newNumFolds
- Value to assign to NumFolds.public java.lang.String lowerSizeTipText()
public int getLowerSize()
public void setLowerSize(int newLowerSize)
newLowerSize
- Value to assign to
LowerSize.public java.lang.String upperSizeTipText()
public int getUpperSize()
public void setUpperSize(int newUpperSize)
newUpperSize
- Value to assign to
UpperSize.public java.lang.String stepSizeTipText()
public int getStepSize()
public void setStepSize(int newStepSize)
newStepSize
- Value to assign to
StepSize.public java.lang.String plotPointsTipText()
public java.lang.String getPlotPoints()
public void setPlotPoints(java.lang.String plotPoints)
plotPoints
- Value to assign to
PlotPoints.protected double[] parsePlotPoints(java.lang.String plotPoints)
public java.lang.String rawOutputTipText()
public boolean getRawOutput()
public void setRawOutput(boolean d)
d
- true if output is to be savedpublic java.lang.String splitEvaluatorTipText()
public SplitEvaluator getSplitEvaluator()
public void setSplitEvaluator(SplitEvaluator newSplitEvaluator)
newSplitEvaluator
- new SplitEvaluator to use.public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-X num_folds
The number of folds to use for the cross-validation.
-D
Specify that raw split evaluator output is to be saved.
-O file/directory name
Specify the file or directory to which raw split evaluator output
is to be saved. If a directory is specified, then each output string
is saved as an individual gzip file. If a file is specified, then
each output string is saved as an entry in a zip file.
-W classname
Specify the full class name of the split evaluator.
All option after -- will be passed to the split evaluator.
setOptions
in interface OptionHandler
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
public java.lang.String toString()
public static void main(java.lang.String[] args)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |