Class MonteCarloCrossValidationEvaluator

  • All Implemented Interfaces:
    ai.libs.jaicore.basic.events.IEventEmitter, ai.libs.jaicore.basic.ILoggingCustomizable, ai.libs.jaicore.basic.IObjectEvaluator<weka.classifiers.Classifier,​java.lang.Double>, IClassifierEvaluator

    public class MonteCarloCrossValidationEvaluator
    extends java.lang.Object
    implements IClassifierEvaluator, ai.libs.jaicore.basic.ILoggingCustomizable, ai.libs.jaicore.basic.events.IEventEmitter
    A classifier evaluator that can perform a (monte-carlo)cross-validation on the given dataset. Thereby, it uses the AbstractSplitBasedClassifierEvaluator to evaluate the classifier on a random split of the dataset.
    • Constructor Detail

      • MonteCarloCrossValidationEvaluator

        public MonteCarloCrossValidationEvaluator​(ISplitBasedClassifierEvaluator<java.lang.Double> splitBasedEvaluator,
                                                  IDatasetSplitter datasetSplitter,
                                                  int repeats,
                                                  weka.core.Instances data,
                                                  double trainingPortion,
                                                  long seed)
      • MonteCarloCrossValidationEvaluator

        public MonteCarloCrossValidationEvaluator​(ISplitBasedClassifierEvaluator<java.lang.Double> splitBasedEvaluator,
                                                  int repeats,
                                                  weka.core.Instances data,
                                                  double trainingPortion,
                                                  long seed)
    • Method Detail

      • cancel

        public void cancel()
      • evaluate

        public java.lang.Double evaluate​(weka.classifiers.Classifier pl)
                                  throws ai.libs.jaicore.basic.algorithm.exceptions.ObjectEvaluationFailedException,
                                         java.lang.InterruptedException
        Specified by:
        evaluate in interface ai.libs.jaicore.basic.IObjectEvaluator<weka.classifiers.Classifier,​java.lang.Double>
        Throws:
        ai.libs.jaicore.basic.algorithm.exceptions.ObjectEvaluationFailedException
        java.lang.InterruptedException
      • evaluate

        public java.lang.Double evaluate​(weka.classifiers.Classifier pl,
                                         org.apache.commons.math3.stat.descriptive.DescriptiveStatistics stats)
                                  throws ai.libs.jaicore.basic.algorithm.exceptions.ObjectEvaluationFailedException,
                                         java.lang.InterruptedException
        Throws:
        ai.libs.jaicore.basic.algorithm.exceptions.ObjectEvaluationFailedException
        java.lang.InterruptedException
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizable
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizable
      • registerListener

        public void registerListener​(java.lang.Object listener)
        Specified by:
        registerListener in interface ai.libs.jaicore.basic.events.IEventEmitter
      • receiveEvent

        public void receiveEvent​(ai.libs.jaicore.basic.events.IEvent event)