Skip to content

glassbox.orchestrator.base_splitter

Abstract BaseSplitter for cross-validation.


BaseSplitter

BaseSplitter(n_splits=5, shuffle=False)

Bases: ABC

Abstract base class for cross-validation splitters.

Parameters:

Name Type Description Default
n_splits int

Number of splits.

5
shuffle bool

Whether to shuffle data before splitting.

False
Source code in glassbox/orchestrator/base_splitter.py
def __init__(self, n_splits: int = 5, shuffle: bool = False) -> None:
    self.n_splits: int = n_splits
    self.shuffle: bool = shuffle

split abstractmethod

split(X, y)

Generate train/test indices for cross-validation.

Parameters:

Name Type Description Default
X ndarray

Data array of shape (n_samples, n_features).

required
y ndarray

Target values of shape (n_samples,).

required

Returns:

Type Description
Generator[Tuple[ndarray, ndarray], None, None]

Generator yielding training and validation index tuples.

Source code in glassbox/orchestrator/base_splitter.py
@abstractmethod
def split(
    self, X: np.ndarray, y: np.ndarray
) -> Generator[Tuple[np.ndarray, np.ndarray], None, None]:
    """
    Generate train/test indices for cross-validation.

    Parameters
    ----------
    X : np.ndarray
        Data array of shape (n_samples, n_features).
    y : np.ndarray
        Target values of shape (n_samples,).

    Returns
    -------
    Generator[Tuple[np.ndarray, np.ndarray], None, None]
        Generator yielding training and validation index tuples.
    """
    raise NotImplementedError