Skip to content

Ml4Config & DataConfig

Ml4Config is the supervised training configuration — a composite of per-area section dataclasses. DataConfig (its .data section) maps the dataset's columns to roles. See the configuration guide for the object model and the full field catalogue in Configuration parameters.

In short

  • Ml4Config carries the problem fields (ml_task, eval_metric, positive_class, …) and one attribute per section (engine, hpo, roster, data, …).
  • DataConfig names the target (target_column), the numeric and categorical columns, the identification keys and the domain lists that route columns to encoders.
  • Group and time columns live on engine.split_policy, not on DataConfig.
  • For every field with its default, use Configuration parameters.

Ml4Config

Ml4Config dataclass

Ml4Config(
    ml_task: Tasks = BINARY_CLASSIFICATION,
    eval_metric: Optional[EvalMetric] = None,
    beta_threshold: float = 0.5,
    positive_class: Optional[str] = None,
    user_defined_metric_ref: Optional[str] = None,
    user_defined_metric_direction: Optional[str] = None,
    execution: ExecutionConfig = ExecutionConfig(),
    data: DataConfig = DataConfig(),
    engine: Ml4EngineConfig = Ml4EngineConfig(),
    hpo: HPOConfig = HPOConfig(),
    roster: Ml4RosterConfig = Ml4RosterConfig(),
    constraints: ConstraintsConfig = ConstraintsConfig(),
    baseline: BaselineConfig = BaselineConfig(),
    imputation: ImputationConfig = ImputationConfig(),
    balancing: BalancingConfig = BalancingConfig(),
    outliers: OutlierRemovalConfig = OutlierRemovalConfig(),
    stateless: StatelessFEConfig = StatelessFEConfig(),
    target_encoding: TargetEncodingConfig = TargetEncodingConfig(),
    target_transform: TargetTransformConfig = TargetTransformConfig(),
    stateful_fe: StatefulFEConfig = StatefulFEConfig(),
    temporal: TemporalEncodersConfig = TemporalEncodersConfig(),
    feature_selection: FeatureSelectionConfig = FeatureSelectionConfig(),
    calibration: CalibrationConfig = CalibrationConfig(),
    intervals: IntervalsConfig = IntervalsConfig(),
    deployment: DeploymentConfig = DeploymentConfig(),
)

Bases: StrictConfigMixin

Top-level ml4 training configuration.

Only the problem-definition fields stay on Ml4Config itself — ml_task, eval_metric, beta_threshold, positive_class and the user_defined_metric_* pair — because they describe the problem and are read at every layer. Everything else lives in a composed section.

DataConfig

DataConfig dataclass

DataConfig(
    target_column: Optional[str] = None,
    key1: Optional[str] = None,
    key2: Optional[str] = None,
    cat_features: List[str] = list(),
    num_features: List[str] = list(),
    names_domains: List[List[str]] = list(),
    time_domain: List[str] = list(),
    device_info_domain: List[str] = list(),
    address_domain: List[str] = list(),
    email_domain: List[str] = list(),
    ip_domain: List[str] = list(),
    url_domain: List[str] = list(),
    zip_domain: List[str] = list(),
    city_domain: List[str] = list(),
    state_domain: List[str] = list(),
    street_domain: List[str] = list(),
    useragent_domain: List[str] = list(),
    phone_domain: List[str] = list(),
    creditcard_domain: List[str] = list(),
    iban_domain: List[str] = list(),
    vat_domain: List[str] = list(),
    dirty_domain: List[str] = list(),
    mt_domain: List[str] = list(),
    wt_domain: List[str] = list(),
    text_domain: List[str] = list(),
    embedding_domain: List[str] = list(),
    base_time_columns: List[str] = list(),
    token_delimiters: Dict[str, str] = dict(),
)

Bases: StrictConfigMixin

Data-related configuration.

All list-valued fields use field(default_factory=list) so each instance gets its own fresh list — never a class-shared mutable.

Next: Presets · Split policy