Configuration¶
Configuration models for Phil’s imputation strategies.
- class phil.imputation.config.CovarianceMatrix(*, matrix: list[list[float]], variables: list[str], citations: list[str])[source]¶
Bases:
BaseModel- citations: list[str]¶
- matrix: list[list[float]]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- variables: list[str]¶
- class phil.imputation.config.CovariateSubset(*, predictors: list[str], citations: list[str])[source]¶
Bases:
BaseModel- citations: list[str]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- predictors: list[str]¶
- class phil.imputation.config.DomainKnowledge(*, covariate_subsets: dict[str, CovariateSubset] | None = None, covariance_matrix: CovarianceMatrix | None = None)[source]¶
Bases:
BaseModel- covariance_matrix: CovarianceMatrix | None¶
- covariate_subsets: dict[str, CovariateSubset] | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class phil.imputation.config.ImputationConfig(*, methods: list[str], modules: list[str], grids: list[ParameterGrid], domain_knowledge: DomainKnowledge | None = None)[source]¶
Bases:
BaseModelConfiguration for imputation methods and parameter grids.
- domain_knowledge: DomainKnowledge | None¶
- grids: list[ParameterGrid]¶
- methods: list[str]¶
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- modules: list[str]¶
- class phil.imputation.config.PreprocessingConfig(*, method: str, module: str = 'sklearn.preprocessing', params: dict[str, ~typing.Any] = <factory>)[source]¶
Bases:
BaseModelConfiguration for data preprocessing steps.
- method: str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- module: str¶
- params: dict[str, Any]¶
Collection of predefined configurations for Phil.
- class phil.gallery.GridGallery[source]¶
Bases:
objectCollection of imputation grids optimized for specific domains.
Citations: - Sampling/Multiverse: Wayland et al. (2025) - https://www.nature.com/articles/s41560-025-01871-0 - Finance: Gu, Kelly, & Xiu (2020) on ML for asset pricing and robust ML portfolios. - Healthcare: Stekhoven & Bühlmann (2011) on MissForest and Chen et al. (2023) on clinical imputation. - Marketing: Anand & Mamidi (2020) / Zhang et al. (2025) on ML for consumer analytics. - Engineering: Thomas & Rajabi (2021) and Idri et al. (2016) on systematic reviews of engineering data.
- classmethod get(name: str) ImputationConfig[source]¶
- class phil.gallery.GridMetadata(name: str, target_domain: str, intent: str, suitability: str, data_type_affinity: tuple[str, ...], time_complexity: str, scale_limits: str)[source]¶
Bases:
objectDeclarative, agent-readable metadata for a built-in imputation grid.
- data_type_affinity: tuple[str, ...]¶
- intent: str¶
- name: str¶
- scale_limits: str¶
- suitability: str¶
- target_domain: str¶
- time_complexity: str¶
- class phil.gallery.ProcessingGallery[source]¶
Bases:
objectCollection of preprocessing configurations optimized for specific domains.
Citations: - Finance: RobustScaler for handling outliers in financial time series and asset data. - Marketing: TargetEncoder for high-cardinality features (e.g., zip codes, product IDs)
as discussed in Anand & Mamidi (2020).
- classmethod get(name: str = 'default') dict[str, PreprocessingConfig][source]¶
- phil.gallery.get_grid_metadata(name: str) GridMetadata | None[source]¶
Return metadata for a built-in grid, or
Noneif unknown.
- phil.gallery.grid_candidate_count(grid_name: str) int[source]¶
Number of ParameterGrid candidates for a built-in gallery grid.
- phil.gallery.grid_scalability(grid_name: str) dict[str, Any][source]¶
Expose candidate count / KNN risk so agents can budget compute.
- phil.gallery.list_grid_metadata() list[GridMetadata][source]¶
Return metadata for all agent-facing built-in grids (sorted by name).