Defines inference parameters for ICLEstimator. Parallel to GNNConfig, but the two share no base class — there is no training loop, so ICLConfig has no epochs, learning rate, or GNN architecture settings.
Ensemble size. More = better quality, slower inference. Must be ≥ 1. Default: 8.
Yes
random_state
int
Seed for ensemble generation and context sampling. Default: 42.
Yes
dfs_max_depth
int
How many “hops” across related tables to pull features from before running ICL. Must be between 1 and 3. For example, with a customers/orders/order_items schema, depth 1 aggregates each customer’s own orders; depth 2 also reaches into order_items through orders. Higher depth means richer features but many more columns and slower runs — depth 2 is the safe default, and depth 3 can produce explosive column counts (though the final feature count is capped at 500 before inference). Ignored for TabularDataset (no DFS in the flat pipeline). Default: 2.
Yes
sample_size
int
Max context rows sampled from the context table before feature generation. Must be ≥ 1, or None to use all rows. Default: None.
Yes
sampling_strategy
str | SamplingStrategy
How to draw the context sample. See SamplingStrategy values below. Default: SamplingStrategy.STRATIFIED.
Yes
device
"cpu" | "cuda"
Inference device. Default: "cpu"; use "cuda" when a GPU is available.
Yes
clamp_min
int
Min percentile clamp (0–100) for regression predictions and quantiles, computed from the context labels — e.g. 1 clamps below the 1st percentile of the context data. 0 (default) clamps to the observed minimum. Must satisfy clamp_min ≤ clamp_max. Default: 0.
Yes
clamp_max
int
Max percentile clamp (0–100) for regression predictions and quantiles, computed from the context labels. 100 (default) clamps to the observed maximum. Default: 100.
Yes
regression_output
"point" | "distribution"
"point" (default) returns a single predicted value per row. "distribution" additionally returns quantiles of the predicted distribution (see quantile_levels). Default: "point".
Yes
quantile_levels
List[float]
Quantile levels to output when regression_output="distribution", or for forecasting tasks. Each value must be strictly between 0 and 1, with no duplicates. Defaults to [0.1, 0.5, 0.9] when None.
Yes
norm_methods
str | List[str]
Feature normalization method(s) applied before inference. One of "none", "power" (Yeo-Johnson), "quantile", "quantile_rtdl", "robust", or a list to use different methods across ensemble members. None (default) uses the default of ["none", "power"].
Random sample that preserves each class’s proportion in the source data. Regression/forecasting labels are binned into quantiles first and stratified on the bins. Default.
SamplingStrategy.MOST_RECENT ("most_recent")
Newest rows by time column. Only valid if the task has a time_column — otherwise raises a ValidationError at predict()/score() time.
SamplingStrategy.MIXED ("mixed")
50% most-recent + 50% stratified. Same time_column requirement as MOST_RECENT.
SamplingStrategy.RANDOM ("random")
Uniform random sample, no class balancing or recency.
SamplingStrategy.BALANCED ("balanced")
Equal number of rows per class, unlike STRATIFIED which preserves the source class proportions. Classes with fewer rows than their equal share contribute everything they have; the unspent budget is topped up at random from other classes. Classification only — raises a ValueError for regression/forecasting tasks, which have no fixed set of classes to equalize.