Package moa.classifiers.oneclass
Class HSTrees
- java.lang.Object
-
- moa.AbstractMOAObject
-
- moa.options.AbstractOptionHandler
-
- moa.classifiers.AbstractClassifier
-
- moa.classifiers.oneclass.HSTrees
-
- All Implemented Interfaces:
Configurable
,Serializable
,CapabilitiesHandler
,Classifier
,MultiClassClassifier
,OneClassClassifier
,AWTRenderable
,Learner<Example<Instance>>
,MOAObject
,OptionHandler
public class HSTrees extends AbstractClassifier implements Classifier, OneClassClassifier
Implements the Streaming Half-Space Trees one-class classifier described in S. C. Tan, K. M. Ting, and T. F. Liu, “Fast anomaly detection for streaming data,” in IJCAI Proceedings-International Joint Conference on Artificial Intelligence, 2011, vol. 22, no. 1, pp. 1511–1516.- Author:
- Richard Hugh Moulton
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description FloatOption
anomalyThresholdOption
IntOption
maxDepthOption
IntOption
numTreesOption
FloatOption
sizeLimitOption
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 HSTrees()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getAnomalyScore(Instance inst)
Returns the anomaly score for the argument instance.void
getModelDescription(StringBuilder out, int indent)
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 inst)
Combine the anomaly scores from each HSTree in the forest and convert into a vote score.void
initialize(Collection<Instance> trainingPoints)
Initializes the Streaming HS-Trees classifier on the argument trainingPoints.boolean
isRandomizable()
HSTrees is randomizable.void
resetLearningImpl()
Reset the classifier's parameters and data structures.void
trainOnInstanceImpl(Instance inst)
Update the forest with the argument instance-
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.gui.AWTRenderable
getAWTRenderer
-
Methods inherited from interface moa.capabilities.CapabilitiesHandler
getCapabilities
-
Methods inherited from interface moa.classifiers.Classifier
copy, correctlyClassifies, getPredictionForInstance, getSubClassifiers, trainOnInstance
-
Methods inherited from interface moa.learners.Learner
getModel, getModelContext, getModelMeasurements, getPredictionForInstance, getSublearners, getVotesForInstance, resetLearning, setModelContext, setRandomSeed, trainingHasStarted, trainingWeightSeenByModel, trainOnInstance
-
Methods inherited from interface moa.MOAObject
getDescription, measureByteSize
-
Methods inherited from interface moa.options.OptionHandler
getCLICreationString, getOptions, prepareForUse, prepareForUse
-
-
-
-
Field Detail
-
windowSizeOption
public IntOption windowSizeOption
-
numTreesOption
public IntOption numTreesOption
-
maxDepthOption
public IntOption maxDepthOption
-
anomalyThresholdOption
public FloatOption anomalyThresholdOption
-
sizeLimitOption
public FloatOption sizeLimitOption
-
-
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
-
resetLearningImpl
public void resetLearningImpl()
Reset the classifier's parameters and data structures.- Specified by:
resetLearningImpl
in classAbstractClassifier
-
trainOnInstanceImpl
public void trainOnInstanceImpl(Instance inst)
Update the forest with the argument instance- Specified by:
trainOnInstanceImpl
in classAbstractClassifier
- Parameters:
inst
- the instance to pass to the forest
-
getVotesForInstance
public double[] getVotesForInstance(Instance inst)
Combine the anomaly scores from each HSTree in the forest and convert into a vote score.- Specified by:
getVotesForInstance
in interfaceClassifier
- Specified by:
getVotesForInstance
in classAbstractClassifier
- Parameters:
inst
- the instance to get votes for- Returns:
- the votes for the instance's label [normal, outlier]
-
getAnomalyScore
public double getAnomalyScore(Instance inst)
Returns the anomaly score for the argument instance.- Specified by:
getAnomalyScore
in interfaceOneClassClassifier
- Parameters:
inst
- the argument instance- Returns:
- inst's anomaly score
-
isRandomizable
public boolean isRandomizable()
HSTrees is randomizable.- Specified by:
isRandomizable
in interfaceLearner<Example<Instance>>
- Returns:
- true if the learner needs a random seed.
-
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
-
getModelDescription
public void getModelDescription(StringBuilder out, int indent)
Description copied from class:AbstractClassifier
Returns a string representation of the model.- Specified by:
getModelDescription
in classAbstractClassifier
- Parameters:
out
- the stringbuilder to add the descriptionindent
- the number of characters to indent
-
initialize
public void initialize(Collection<Instance> trainingPoints)
Initializes the Streaming HS-Trees classifier on the argument trainingPoints.- Specified by:
initialize
in interfaceOneClassClassifier
- Parameters:
trainingPoints
- the Collection of instance with which to initialize the Streaming Hs-Trees classifier.
-
-