TabPFN

TabPFN model implementations.

class openadmet.models.architecture.tabpfn.TabPFNClassifierModel(*, accelerator: Literal['cpu', 'cuda', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False)[source]

Bases: TabPFNModelBase

TabPFN classification model using the basic tabpfn implementation.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

type: ClassVar[str] = 'TabPFNClassifierModel'
class openadmet.models.architecture.tabpfn.TabPFNExtensionModelBase(*, max_time: int | None = None, accelerator: Literal['cpu', 'gpu', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False, phe_init_args: dict | None = None)[source]

Bases: PickleableModelBase

Base class for TabPFN models using the tabpfn-extensions package.

This class provides common functionality for TabPFN models with post-hoc ensembling, including configuration, building, training, and prediction.

Variables:
  • type (ClassVar[str]) – Model type identifier.

  • mod_class (ClassVar[type]) – The TabPFN model class (e.g., AutoTabPFNRegressor or AutoTabPFNClassifier).

  • max_time (Optional[int]) – Maximum time to spend on fitting the post hoc ensemble.

  • accelerator (Literal["cpu", "gpu", "auto"]) – Device to use for training and prediction.

  • random_state (int) – Random seed for reproducibility.

  • ignore_pretraining_limits (bool) – Whether to ignore pretraining limits of TabPFN base models.

  • phe_init_args (Optional[dict]) – Initialization arguments for the post hoc ensemble predictor.

accelerator: Literal['cpu', 'gpu', 'auto']
build()[source]

Prepare and build the model instance.

ignore_pretraining_limits: bool
max_time: int | None
mod_class: ClassVar[type]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

phe_init_args: dict | None
predict(X: ndarray, **kwargs) ndarray[source]

Predict on data using the model.

Parameters:
  • X (np.ndarray) – Input features.

  • kwargs (Dict) – Keyword arguments for model

Returns:

Model predictions with shape (n_samples, 1).

Return type:

np.ndarray

random_state: int
train(X: ndarray, y: ndarray)[source]

Train the model.

Parameters:
  • X (np.ndarray) – Training features.

  • y (np.ndarray) – Training targets.

type: ClassVar[str]
class openadmet.models.architecture.tabpfn.TabPFNModelBase(*, accelerator: Literal['cpu', 'cuda', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False)[source]

Bases: PickleableModelBase

Base class for TabPFN models using the basic TabPFN implementation.

Variables:
  • accelerator (Literal["cpu", "cuda", "auto"]) – Device to use for training and prediction.

  • random_state (int) – Random seed for reproducibility.

  • ignore_pretraining_limits (bool) – Whether to ignore pretraining limits of TabPFN base models.

accelerator: Literal['cpu', 'cuda', 'auto']
build()[source]

Prepare and build the model instance.

ignore_pretraining_limits: bool
mod_class: ClassVar[type]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

predict(X: ndarray, **kwargs) ndarray[source]

Predict using the model.

Parameters:
  • X (np.ndarray) – Input features.

  • kwargs (Dict) – Keyword arguments for prediciton.

Returns:

Model predictions with shape (n_samples, 1).

Return type:

np.ndarray

Raises:

ValueError – If the model is not trained.

random_state: int
train(X: ndarray, y: ndarray)[source]

Train the model.

Parameters:
  • X (np.ndarray) – Training features.

  • y (np.ndarray) – Training targets.

type: ClassVar[str]
class openadmet.models.architecture.tabpfn.TabPFNPostHocClassifierModel(*, max_time: int | None = None, accelerator: Literal['cpu', 'gpu', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False, phe_init_args: dict | None = None)[source]

Bases: TabPFNExtensionModelBase

TabPFN classification model using tabpfn-extensions with posthoc ensembling.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

predict_proba(X: ndarray) ndarray[source]

Predict class probabilities using the model.

Parameters:

X (np.ndarray) – Input features.

Returns:

Predicted class probabilities.

Return type:

np.ndarray

type: ClassVar[str] = 'TabPFNPostHocClassifierModel'
class openadmet.models.architecture.tabpfn.TabPFNPostHocRegressorModel(*, max_time: int | None = None, accelerator: Literal['cpu', 'gpu', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False, phe_init_args: dict | None = None)[source]

Bases: TabPFNExtensionModelBase

TabPFN regression model using tabpfn-extensions with posthoc ensembling.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

type: ClassVar[str] = 'TabPFNPostHocRegressorModel'
class openadmet.models.architecture.tabpfn.TabPFNRegressorModel(*, accelerator: Literal['cpu', 'cuda', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False)[source]

Bases: TabPFNModelBase

TabPFN regression model using the basic tabpfn implementation.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

model_post_init(context: Any, /) None

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Args:

self: The BaseModel instance. context: The context.

type: ClassVar[str] = 'TabPFNRegressorModel'