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:
TabPFNModelBaseTabPFN 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].
- 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:
PickleableModelBaseBase 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.
- build()[source]
Prepare and build the model instance.
- 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 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
- train(X: ndarray, y: ndarray)[source]
Train the model.
- Parameters:
X (np.ndarray) – Training features.
y (np.ndarray) – Training targets.
- class openadmet.models.architecture.tabpfn.TabPFNModelBase(*, accelerator: Literal['cpu', 'cuda', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False)[source]
Bases:
PickleableModelBaseBase 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.
- build()[source]
Prepare and build the model instance.
- 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.
- train(X: ndarray, y: ndarray)[source]
Train the model.
- Parameters:
X (np.ndarray) – Training features.
y (np.ndarray) – Training targets.
- 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:
TabPFNExtensionModelBaseTabPFN 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
- 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:
TabPFNExtensionModelBaseTabPFN 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].
- class openadmet.models.architecture.tabpfn.TabPFNRegressorModel(*, accelerator: Literal['cpu', 'cuda', 'auto'] = 'auto', random_state: int = 42, ignore_pretraining_limits: bool = False)[source]
Bases:
TabPFNModelBaseTabPFN 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].