Class AMonteCarloCrossValidationBasedEvaluatorFactory
- java.lang.Object
-
- ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.AMonteCarloCrossValidationBasedEvaluatorFactory
-
- All Implemented Interfaces:
IClassifierEvaluatorFactory
- Direct Known Subclasses:
MonteCarloCrossValidationEvaluatorFactory,ProbabilisticMonteCarloCrossValidationEvaluatorFactory
public abstract class AMonteCarloCrossValidationBasedEvaluatorFactory extends java.lang.Object implements IClassifierEvaluatorFactory
An abstract factory for configuring Monte Carlo cross-validation based evaluators.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAMonteCarloCrossValidationBasedEvaluatorFactory()Standard c'tor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description weka.core.InstancesgetData()Getter for the dataset which is used for splitting.IDatasetSplittergetDatasetSplitter()Getter for the dataset splitter.intgetNumMCIterations()Getter for the number of iterations, i.e. the number of splits considered.intgetSeed()Getter for the random seed.ISplitBasedClassifierEvaluator<java.lang.Double>getSplitBasedEvaluator()Getter for the evaluator that is used for evaluating each split.intgetTimeoutForSolutionEvaluation()Getter for the timeout for evaluating a solution.doublegetTrainFoldSize()Getter for the size of the train fold.AMonteCarloCrossValidationBasedEvaluatorFactorywithData(weka.core.Instances data)Configures the dataset which is split into train and test data.AMonteCarloCrossValidationBasedEvaluatorFactorywithDatasetSplitter(IDatasetSplitter datasetSplitter)Configures the evaluator to use the given dataset splitter.AMonteCarloCrossValidationBasedEvaluatorFactorywithNumMCIterations(int numMCIterations)Configures the number of monte carlo cross-validation iterations.AMonteCarloCrossValidationBasedEvaluatorFactorywithSeed(int seed)Configures the evaluator to use the given random seed.AMonteCarloCrossValidationBasedEvaluatorFactorywithSplitBasedEvaluator(ISplitBasedClassifierEvaluator<java.lang.Double> splitBasedClassifierEvaluator)Configures the evaluator to use the given classifier evaluator.AMonteCarloCrossValidationBasedEvaluatorFactorywithTimeoutForSolutionEvaluation(int timeoutForSolutionEvaluation)Configures a timeout for evaluating a solution.AMonteCarloCrossValidationBasedEvaluatorFactorywithTrainFoldSize(double trainFoldSize)Configures the portion of the training data relative to the entire dataset size.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.IClassifierEvaluatorFactory
getIClassifierEvaluator
-
-
-
-
Method Detail
-
getDatasetSplitter
public IDatasetSplitter getDatasetSplitter()
Getter for the dataset splitter.- Returns:
- Returns the dataset spliiter.
-
getSplitBasedEvaluator
public ISplitBasedClassifierEvaluator<java.lang.Double> getSplitBasedEvaluator()
Getter for the evaluator that is used for evaluating each split.- Returns:
- The split evaluator.
-
getSeed
public int getSeed()
Getter for the random seed.- Returns:
- Seed used for generating randomized dataset splits.
-
getNumMCIterations
public int getNumMCIterations()
Getter for the number of iterations, i.e. the number of splits considered.- Returns:
- The number of iterations.
-
getData
public weka.core.Instances getData()
Getter for the dataset which is used for splitting.- Returns:
- The original dataset that is being split.
-
getTrainFoldSize
public double getTrainFoldSize()
Getter for the size of the train fold.- Returns:
- The portion of the training data.
-
getTimeoutForSolutionEvaluation
public int getTimeoutForSolutionEvaluation()
Getter for the timeout for evaluating a solution.- Returns:
- The timeout for evaluating a solution.
-
withDatasetSplitter
public AMonteCarloCrossValidationBasedEvaluatorFactory withDatasetSplitter(IDatasetSplitter datasetSplitter)
Configures the evaluator to use the given dataset splitter.- Parameters:
datasetSplitter- The dataset splitter to be used.- Returns:
- The factory object.
-
withSplitBasedEvaluator
public AMonteCarloCrossValidationBasedEvaluatorFactory withSplitBasedEvaluator(ISplitBasedClassifierEvaluator<java.lang.Double> splitBasedClassifierEvaluator)
Configures the evaluator to use the given classifier evaluator.- Parameters:
splitBasedClassifierEvaluator- The classifier evaluator to be used.- Returns:
- The factory object.
-
withSeed
public AMonteCarloCrossValidationBasedEvaluatorFactory withSeed(int seed)
Configures the evaluator to use the given random seed.- Parameters:
seed- The seed to be used for pseudo-randomization.- Returns:
- The factory object.
-
withNumMCIterations
public AMonteCarloCrossValidationBasedEvaluatorFactory withNumMCIterations(int numMCIterations)
Configures the number of monte carlo cross-validation iterations.- Parameters:
numMCIterations- The number of iterations to run.- Returns:
- The factory object.
-
withData
public AMonteCarloCrossValidationBasedEvaluatorFactory withData(weka.core.Instances data)
Configures the dataset which is split into train and test data.- Parameters:
data- The dataset to be split.- Returns:
- The factory object.
-
withTrainFoldSize
public AMonteCarloCrossValidationBasedEvaluatorFactory withTrainFoldSize(double trainFoldSize)
Configures the portion of the training data relative to the entire dataset size.- Parameters:
trainFoldSize- The size of the training fold (0,1).- Returns:
- The factory object.
-
withTimeoutForSolutionEvaluation
public AMonteCarloCrossValidationBasedEvaluatorFactory withTimeoutForSolutionEvaluation(int timeoutForSolutionEvaluation)
Configures a timeout for evaluating a solution.- Parameters:
timeoutForSolutionEvaluation- The timeout for evaluating a solution.- Returns:
- The factory object.
-
-