Package moa.learners.featureanalysis
Class ClassifierWithFeatureImportance
- java.lang.Object
-
- moa.AbstractMOAObject
-
- moa.options.AbstractOptionHandler
-
- moa.classifiers.AbstractClassifier
-
- moa.learners.featureanalysis.ClassifierWithFeatureImportance
-
- All Implemented Interfaces:
Configurable
,Serializable
,CapabilitiesHandler
,Classifier
,MultiClassClassifier
,AWTRenderable
,Learner<Example<Instance>>
,MOAObject
,OptionHandler
public class ClassifierWithFeatureImportance extends AbstractClassifier implements MultiClassClassifier
Classifier with Feature ImportanceThis meta algorithm serves the purpose of executing a classifier also capable of outputting feature importances. Classifiers implementing the moa.streams.FeatureImportance interface
Hyperparameters:
- -l : Learner implementing FeatureImportance interface.
- -n : Whether to normalize or not the feature importances.
- -w : How often to verify and output
- -o : Maximum number of features to include in the output file.
- -c : Debug file
- -d : Whether to output the results to the debug file or not. Useful to analyze the
- Version:
- $Revision: 1 $
- Author:
- Heitor Murilo Gomes (heitor dot gomes at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description FileOption
debugFileOption
protected PrintStream
debugStream
FlagOption
doNotNormalizeFeatureScoreOption
FlagOption
doNotOutputResultsToFileOption
protected FeatureImportanceClassifier
featureImportanceClassifierLearner
ClassOption
featureImportanceLearnerOption
protected long
instancesSeen
protected double
max
IntOption
maxFeaturesDebugOption
protected double
mean
protected double
median
protected double
min
protected double
sum
IntOption
windowSizeOption
-
Fields inherited from class moa.classifiers.AbstractClassifier
classifierRandom, modelContext, randomSeed, randomSeedOption, trainingWeightSeenByModel
-
Fields inherited from class moa.options.AbstractOptionHandler
config
-
-
Constructor Summary
Constructors Constructor Description ClassifierWithFeatureImportance()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
createDebugOutputFile()
protected String
describe()
Describe the feature importance method used.double[]
getCurrentFeatureImportances()
void
getModelDescription(StringBuilder arg0, int arg1)
Returns a string representation of the model.protected Measurement[]
getModelMeasurementsImpl()
Gets the current measurements of this classifier.
The reason for ...Impl methods: ease programmer burden by not requiring them to remember calls to super in overridden methods.String
getPurposeString()
Dictionary with option texts and objectsdouble[]
getVotesForInstance(Instance instance)
Predicts the class memberships for a given instance.boolean
isRandomizable()
Gets whether this learner needs a random seed.void
resetLearningImpl()
Resets this classifier.void
trainOnInstanceImpl(Instance instance)
Trains this classifier incrementally using the given instance.
The reason for ...Impl methods: ease programmer burden by not requiring them to remember calls to super in overridden methods.-
Methods inherited from class moa.classifiers.AbstractClassifier
contextIsCompatible, copy, correctlyClassifies, defineImmutableCapabilities, getAttributeNameString, getAWTRenderer, getClassLabelString, getClassNameString, getDescription, getModel, getModelContext, getModelMeasurements, getNominalValueString, getPredictionForInstance, getPredictionForInstance, getSubClassifiers, getSublearners, getVotesForInstance, modelAttIndexToInstanceAttIndex, modelAttIndexToInstanceAttIndex, prepareForUseImpl, resetLearning, setModelContext, setRandomSeed, trainingHasStarted, trainingWeightSeenByModel, trainOnInstance, trainOnInstance
-
Methods inherited from class moa.options.AbstractOptionHandler
getCLICreationString, getOptions, getPreparedClassOption, prepareClassOptions, prepareForUse, prepareForUse
-
Methods inherited from class moa.AbstractMOAObject
copy, measureByteSize, measureByteSize, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface moa.capabilities.CapabilitiesHandler
getCapabilities
-
Methods inherited from interface moa.MOAObject
measureByteSize
-
Methods inherited from interface moa.options.OptionHandler
getCLICreationString, getOptions, prepareForUse, prepareForUse
-
-
-
-
Field Detail
-
featureImportanceLearnerOption
public ClassOption featureImportanceLearnerOption
-
doNotNormalizeFeatureScoreOption
public FlagOption doNotNormalizeFeatureScoreOption
-
windowSizeOption
public IntOption windowSizeOption
-
maxFeaturesDebugOption
public IntOption maxFeaturesDebugOption
-
debugFileOption
public FileOption debugFileOption
-
doNotOutputResultsToFileOption
public FlagOption doNotOutputResultsToFileOption
-
debugStream
protected PrintStream debugStream
-
instancesSeen
protected long instancesSeen
-
featureImportanceClassifierLearner
protected FeatureImportanceClassifier featureImportanceClassifierLearner
-
mean
protected double mean
-
median
protected double median
-
max
protected double max
-
min
protected double min
-
sum
protected double sum
-
-
Method Detail
-
getPurposeString
public String getPurposeString()
Description copied from class:AbstractOptionHandler
Dictionary with option texts and objects- Specified by:
getPurposeString
in interfaceOptionHandler
- Overrides:
getPurposeString
in classAbstractClassifier
- Returns:
- the string with the purpose of this object
-
createDebugOutputFile
protected void createDebugOutputFile()
-
resetLearningImpl
public void resetLearningImpl()
Description copied from class:AbstractClassifier
Resets this classifier. It must be similar to starting a new classifier from scratch.
The reason for ...Impl methods: ease programmer burden by not requiring them to remember calls to super in overridden methods. Note that this will produce compiler errors if not overridden.- Specified by:
resetLearningImpl
in classAbstractClassifier
-
trainOnInstanceImpl
public void trainOnInstanceImpl(Instance instance)
Description copied from class:AbstractClassifier
Trains this classifier incrementally using the given instance.
The reason for ...Impl methods: ease programmer burden by not requiring them to remember calls to super in overridden methods. Note that this will produce compiler errors if not overridden.- Specified by:
trainOnInstanceImpl
in classAbstractClassifier
- Parameters:
instance
- the instance to be used for training
-
getCurrentFeatureImportances
public double[] getCurrentFeatureImportances()
-
getVotesForInstance
public double[] getVotesForInstance(Instance instance)
Description copied from interface:Classifier
Predicts the class memberships for a given instance. If an instance is unclassified, the returned array elements must be all zero.- Specified by:
getVotesForInstance
in interfaceClassifier
- Specified by:
getVotesForInstance
in classAbstractClassifier
- Parameters:
instance
- the instance to be classified- Returns:
- an array containing the estimated membership probabilities of the test instance in each class
-
isRandomizable
public boolean isRandomizable()
Description copied from interface:Learner
Gets whether this learner needs a random seed. Examples of methods that needs a random seed are bagging and boosting.- Specified by:
isRandomizable
in interfaceLearner<Example<Instance>>
- Returns:
- true if the learner needs a random seed.
-
getModelDescription
public void getModelDescription(StringBuilder arg0, int arg1)
Description copied from class:AbstractClassifier
Returns a string representation of the model.- Specified by:
getModelDescription
in classAbstractClassifier
- Parameters:
arg0
- the stringbuilder to add the descriptionarg1
- the number of characters to indent
-
getModelMeasurementsImpl
protected Measurement[] getModelMeasurementsImpl()
Description copied from class:AbstractClassifier
Gets the current measurements of this classifier.
The reason for ...Impl methods: ease programmer burden by not requiring them to remember calls to super in overridden methods. Note that this will produce compiler errors if not overridden.- Specified by:
getModelMeasurementsImpl
in classAbstractClassifier
- Returns:
- an array of measurements to be used in evaluation tasks
-
describe
protected String describe()
Describe the feature importance method used. This is added to the first line of the output file.- Returns:
- description of the model used
-
-