Toggle Menu
Prev Up Next

scikit-learn 1.3.2
Other versions

Please cite us if you use the software.

# `sklearn.model_selection`.PredefinedSplit

class sklearn.model_selection.PredefinedSplit(test_fold)

  Predefined split cross-validator

  Provides train/test indices to split data into train/test sets using a predefined scheme specified by the user with the `test_fold` parameter.

  Read more in the User Guide.

  New in version 0.16.

  Parameters:
    test_fold array-like of shape (n_samples,)

      The entry `test_fold[i]` represents the index of the test set that sample `i` belongs to. It is possible to exclude sample `i` from any test set (i.e. include sample `i` in every training set) by setting `test_fold[i]` equal to -1.

  Examples

      >>> import numpy as np
      >>> from sklearn.model_selection import PredefinedSplit
      >>> X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
      >>> y = np.array([0, 0, 1, 1])
      >>> test_fold = [0, 1, -1, 1]
      >>> ps = PredefinedSplit(test_fold)
      >>> ps.get_n_splits()
      2
      >>> print(ps)
      PredefinedSplit(test_fold=array([ 0,  1, -1,  1]))
      >>> for i, (train_index, test_index) in enumerate(ps.split()):
      ...     print(f"Fold {i}:")
      ...     print(f"  Train: index={train_index}")
      ...     print(f"  Test:  index={test_index}")
      Fold 0:
        Train: index=[1 2 3]
        Test:  index=[0]
      Fold 1:
        Train: index=[0 2]
        Test:  index=[1 3]

  Methods

  `get_metadata_routing`() | Get metadata routing of this object.
  `get_n_splits`([X, y, groups]) | Returns the number of splitting iterations in the cross-validator
  `split`([X, y, groups]) | Generate indices to split data into training and test set.

  get_metadata_routing()

    Get metadata routing of this object.

    Please check User Guide on how the routing mechanism works.

    Returns:
      routing MetadataRequest

        A `MetadataRequest` encapsulating routing information.

  get_n_splits(X=None, y=None, groups=None)

    Returns the number of splitting iterations in the cross-validator

    Parameters:
      X object

        Always ignored, exists for compatibility.

      y object

        Always ignored, exists for compatibility.

      groups object

        Always ignored, exists for compatibility.

    Returns:
      n_splits int

        Returns the number of splitting iterations in the cross-validator.

  split(X=None, y=None, groups=None)

    Generate indices to split data into training and test set.

    Parameters:
      X object

        Always ignored, exists for compatibility.

      y object

        Always ignored, exists for compatibility.

      groups object

        Always ignored, exists for compatibility.

    Yields:
      train ndarray

        The training set indices for that split.

      test ndarray

        The testing set indices for that split.