Class ExtrapolatedSaturationPointEvaluator<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>>
- java.lang.Object
-
- ai.libs.jaicore.ml.evaluation.evaluators.weka.ExtrapolatedSaturationPointEvaluator<I,D>
-
- All Implemented Interfaces:
ai.libs.jaicore.basic.IObjectEvaluator<weka.classifiers.Classifier,java.lang.Double>,IClassifierEvaluator
public class ExtrapolatedSaturationPointEvaluator<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>> extends java.lang.Object implements IClassifierEvaluator
For the classifier a learning curve will be extrapolated with a given set of anchorpoints. This learning curve can predict a saturation point with a tolerance epsilon. When a subsample is drawn at this saturation point it is the optimal trade-off between a fast training (therefore fast classifier evaluation) and dataset representability (therefore evaluation result expressiveness).
-
-
Constructor Summary
Constructors Constructor Description ExtrapolatedSaturationPointEvaluator(int[] anchorpoints, ISamplingAlgorithmFactory<I,D,? extends ASamplingAlgorithm<I,D>> samplingAlgorithmFactory, D train, double trainSplitForAnchorpointsMeasurement, LearningCurveExtrapolationMethod extrapolationMethod, long seed, D test)Create a classifier evaluator with an accuracy measurement at the extrapolated learning curves saturation point.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Doubleevaluate(weka.classifiers.Classifier classifier)voidsetEpsilon(double epsilon)
-
-
-
Constructor Detail
-
ExtrapolatedSaturationPointEvaluator
public ExtrapolatedSaturationPointEvaluator(int[] anchorpoints, ISamplingAlgorithmFactory<I,D,? extends ASamplingAlgorithm<I,D>> samplingAlgorithmFactory, D train, double trainSplitForAnchorpointsMeasurement, LearningCurveExtrapolationMethod extrapolationMethod, long seed, D test)Create a classifier evaluator with an accuracy measurement at the extrapolated learning curves saturation point.- Parameters:
anchorpoints- Anchorpoints for the learning curve extrapolation.samplingAlgorithmFactory- Subsampling factory for a subsampler to create samples at the given anchorpoints.train- Dataset predict the learning curve with and where the subsample for the measurement is drawn from.trainSplitForAnchorpointsMeasurement- Ratio to split the subsamples at the anchorpoints into train and test.extrapolationMethod- Method to extrapolate a learning curve from the accuracy measurements at the anchorpoints.seed- Random seed.test- Test dataset to measure the accuracy.
-
-
Method Detail
-
setEpsilon
public void setEpsilon(double epsilon)
-
evaluate
public java.lang.Double evaluate(weka.classifiers.Classifier classifier) throws java.lang.InterruptedException, ai.libs.jaicore.basic.algorithm.exceptions.ObjectEvaluationFailedException- Specified by:
evaluatein interfaceai.libs.jaicore.basic.IObjectEvaluator<I extends ILabeledAttributeArrayInstance<?>,D extends IOrderedLabeledAttributeArrayDataset<I,?>>- Throws:
java.lang.InterruptedExceptionai.libs.jaicore.basic.algorithm.exceptions.ObjectEvaluationFailedException
-
-