Package moa.evaluation
Class BasicAUCImbalancedPerformanceEvaluator
- java.lang.Object
-
- moa.AbstractMOAObject
-
- moa.options.AbstractOptionHandler
-
- moa.evaluation.BasicAUCImbalancedPerformanceEvaluator
-
- All Implemented Interfaces:
Configurable
,Serializable
,CapabilitiesHandler
,ClassificationPerformanceEvaluator
,LearningPerformanceEvaluator<Example<Instance>>
,MOAObject
,OptionHandler
public class BasicAUCImbalancedPerformanceEvaluator extends AbstractOptionHandler implements ClassificationPerformanceEvaluator
Performance measures designed for class imbalance problems. Only to be used for binary classification problems with unweighted instances. Class 0 - majority/negative examples, class 1 - minority, positive examples. AUC calculation as described in (but without windowing): D. Brzezinski, J. Stefanowski, "Prequential AUC: Properties of the Area Under the ROC Curve for Data Streams with Concept Drift", Knowledge and Information Systems, 2017.- Author:
- Dariusz Brzezinski (dbrzezinski at cs.put.poznan.pl)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
BasicAUCImbalancedPerformanceEvaluator.Estimator
class
BasicAUCImbalancedPerformanceEvaluator.SimpleEstimator
-
Field Summary
Fields Modifier and Type Field Description FlagOption
calculateAUC
protected int
numClasses
protected double
totalObservedInstances
-
Fields inherited from class moa.options.AbstractOptionHandler
config
-
-
Constructor Summary
Constructors Constructor Description BasicAUCImbalancedPerformanceEvaluator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addResult(Example<Instance> exampleInstance, double[] classVotes)
Adds a learning result to this evaluator.void
addResult(Example<Instance> arg0, Prediction arg1)
BasicAUCImbalancedPerformanceEvaluator.Estimator
getAucEstimator()
void
getDescription(StringBuilder sb, int indent)
Returns a string representation of this object.Measurement[]
getPerformanceMeasurements()
Gets the current measurements monitored by this evaluator.void
prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository)
This method describes the implementation of how to prepare this object for use.void
reset()
Resets this evaluator.void
reset(int numClasses)
-
Methods inherited from class moa.options.AbstractOptionHandler
copy, getCLICreationString, getOptions, getPreparedClassOption, getPurposeString, 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.evaluation.LearningPerformanceEvaluator
defineImmutableCapabilities
-
Methods inherited from interface moa.MOAObject
measureByteSize
-
-
-
-
Field Detail
-
calculateAUC
public FlagOption calculateAUC
-
totalObservedInstances
protected double totalObservedInstances
-
numClasses
protected int numClasses
-
-
Method Detail
-
reset
public void reset()
Description copied from interface:LearningPerformanceEvaluator
Resets this evaluator. It must be similar to starting a new evaluator from scratch.- Specified by:
reset
in interfaceLearningPerformanceEvaluator<Example<Instance>>
-
reset
public void reset(int numClasses)
-
addResult
public void addResult(Example<Instance> exampleInstance, double[] classVotes)
Description copied from interface:LearningPerformanceEvaluator
Adds a learning result to this evaluator.- Specified by:
addResult
in interfaceLearningPerformanceEvaluator<Example<Instance>>
- Parameters:
exampleInstance
- the example to be classifiedclassVotes
- an array containing the estimated membership probabilities of the test instance in each class
-
getPerformanceMeasurements
public Measurement[] getPerformanceMeasurements()
Description copied from interface:LearningPerformanceEvaluator
Gets the current measurements monitored by this evaluator.- Specified by:
getPerformanceMeasurements
in interfaceLearningPerformanceEvaluator<Example<Instance>>
- Returns:
- an array of measurements monitored by this evaluator
-
getDescription
public void getDescription(StringBuilder sb, int indent)
Description copied from interface:MOAObject
Returns a string representation of this object. Used inAbstractMOAObject.toString
to give a string representation of the object.- Specified by:
getDescription
in interfaceMOAObject
- Parameters:
sb
- the stringbuilder to add the descriptionindent
- the number of characters to indent
-
prepareForUseImpl
public void prepareForUseImpl(TaskMonitor monitor, ObjectRepository repository)
Description copied from class:AbstractOptionHandler
This method describes the implementation of how to prepare this object for use. All classes that extends this class have to implementprepareForUseImpl
and notprepareForUse
sinceprepareForUse
callsprepareForUseImpl
.- Specified by:
prepareForUseImpl
in classAbstractOptionHandler
- Parameters:
monitor
- the TaskMonitor to userepository
- the ObjectRepository to use
-
getAucEstimator
public BasicAUCImbalancedPerformanceEvaluator.Estimator getAucEstimator()
-
addResult
public void addResult(Example<Instance> arg0, Prediction arg1)
- Specified by:
addResult
in interfaceLearningPerformanceEvaluator<Example<Instance>>
-
-