Base abstractions and foundation classes.

The tuiml.base package provides the object-oriented foundation for the entire library. It defines the core interfaces that concrete components implement, along with the decorators (@classifier, @regressor, @clusterer, @associator, @kernel, ...) that register them with the component registry.

Overview

This package is organized into several key abstraction layers:

  1. Algorithms: Base classes for supervised (Classifier, Regressor)
and unsupervised (Clusterer, Associator) models, plus their registration decorators and registry lookup helpers (get_algorithm, list_algorithms, search_algorithms).
  1. Preprocessing: Interfaces for data filters and feature transformers
(Preprocessor, Transformer).
  1. Features: Base classes for feature selection, extraction, and
construction.
  1. Metrics: The Metric base class and shared validation/aggregation
helpers used by tuiml.evaluation.metrics.
  1. Splitting: BaseSplitter, the interface behind the train/test
splitters in tuiml.evaluation.splitting.
  1. Hyper-parameter Tuning: Abstractions for parameter search
(BaseTuner, ParameterGrid, ParameterDistribution).
  1. Generators: Base classes for synthetic data generators
(DataGenerator and its task-specific subclasses).
  1. Kernels: The Kernel base class and @kernel decorator for
SVM-style kernel functions, including CachedKernel.
  1. Neighbors and Estimators: NearestNeighborSearch and probability
ProbabilityEstimator primitives shared across algorithms.

Modules