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: ~typing.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.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]¶