Package opennlp.tools.util.eval
Class CrossValidationPartitioner<E>
java.lang.Object
opennlp.tools.util.eval.CrossValidationPartitioner<E>
Provides access to training and test partitions for n-fold cross validation.
Cross validation is used to evaluate the performance of a classifier when only
training data is available. The training set is split into n parts
and the training / evaluation is performed n times on these parts.
The training partition always consists of n - 1 parts and one part is used for testing.
To use the CrossValidationPartitioner a client iterates over the n
stream. Each CrossValidationPartitioner.TrainingSampleStream represents
one partition and is used first for training and afterwards for testing.
The CrossValidationPartitioner.TestSampleStream can be obtained via the
CrossValidationPartitioner.TrainingSampleStream.getTestSampleStream() method.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classTheCrossValidationPartitioner.TrainingSampleStreamwhich iterates over all training elements. -
Constructor Summary
ConstructorsConstructorDescriptionCrossValidationPartitioner(Collection<E> elements, int numberOfPartitions) InitializesCrossValidationPartitionerinstance.CrossValidationPartitioner(ObjectStream<E> inElements, int numberOfPartitions) InitializesCrossValidationPartitionerinstance. -
Method Summary
-
Constructor Details
-
CrossValidationPartitioner
InitializesCrossValidationPartitionerinstance.- Parameters:
inElements- TheObjectStream<E>that provides the elements.numberOfPartitions- The number of partitions. Must be greater than0.
-
CrossValidationPartitioner
InitializesCrossValidationPartitionerinstance.- Parameters:
elements- ACollection<E>that provides the elements.numberOfPartitions- The number of partitions. Must be greater than0.
-
-
Method Details
-
hasNext
public boolean hasNext()Checks if there are more partitions available. -
next
Retrieves the next training and test partitions.- Throws:
IOException
-
toString
-