Class ExtrapolatedSaturationPointEvaluator<I extends ILabeledAttributeArrayInstance<?>,​D extends IOrderedLabeledAttributeArrayDataset<I,​?>>

  • 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 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:
        evaluate in interface ai.libs.jaicore.basic.IObjectEvaluator<I extends ILabeledAttributeArrayInstance<?>,​D extends IOrderedLabeledAttributeArrayDataset<I,​?>>
        Throws:
        java.lang.InterruptedException
        ai.libs.jaicore.basic.algorithm.exceptions.ObjectEvaluationFailedException