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
Modifier and TypeClassDescriptionstatic class
TheCrossValidationPartitioner.TrainingSampleStream
which iterates over all training elements. -
Constructor Summary
ConstructorDescriptionCrossValidationPartitioner
(Collection<E> elements, int numberOfPartitions) InitializesCrossValidationPartitioner
instance.CrossValidationPartitioner
(ObjectStream<E> inElements, int numberOfPartitions) InitializesCrossValidationPartitioner
instance. -
Method Summary
-
Constructor Details
-
CrossValidationPartitioner
InitializesCrossValidationPartitioner
instance.- Parameters:
inElements
- TheObjectStream<E>
that provides the elements.numberOfPartitions
- The number of partitions. Must be greater than0
.
-
CrossValidationPartitioner
InitializesCrossValidationPartitioner
instance.- 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
-