opennlp.tools.util.eval

## Class CrossValidationPartitioner<E>

- java.lang.Object
- - opennlp.tools.util.eval.CrossValidationPartitioner<E>

-     public class CrossValidationPartitioner<E>
      extends Object

  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 `CrossValidationPartioner` a client iterates over the n `TrainingSampleStream`s. Each `TrainingSampleStream` represents one partition and is used first for training and afterwards for testing. The `TestSampleStream` can be obtained from the `TrainingSampleStream` with the `getTestSampleStream` method.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CrossValidationPartitioner.TrainingSampleStream<E>` The `TrainingSampleStream` which iterates over all training elements.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CrossValidationPartitioner(Collection<E> elements, int numberOfPartitions)` Initializes the current instance.
    `CrossValidationPartitioner(ObjectStream<E> inElements, int numberOfPartitions)` Initializes the current instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `hasNext()` Checks if there are more partitions available.
    `CrossValidationPartitioner.TrainingSampleStream<E>` | `next()` Retrieves the next training and test partitions.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### CrossValidationPartitioner

          public CrossValidationPartitioner(ObjectStream<E> inElements,
                                            int numberOfPartitions)

      Initializes the current instance.
      Parameters:
        `inElements` -
        `numberOfPartitions` -

    - #### CrossValidationPartitioner

          public CrossValidationPartitioner(Collection<E> elements,
                                            int numberOfPartitions)

      Initializes the current instance.
      Parameters:
        `elements` -
        `numberOfPartitions` -

  - ### Method Detail

    - #### hasNext

          public boolean hasNext()

      Checks if there are more partitions available.

    - #### next

          public CrossValidationPartitioner.TrainingSampleStream<E> next()
                                                                  throws IOException

      Retrieves the next training and test partitions.
      Throws:
        `IOException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright © 2026 The Apache Software Foundation. All rights reserved.