Skip to content

Adapt Autosklearn

Optional MLJAR AutoML adapter for the MVP workspace. MCP exposes 11 tools.

Cluster: Uncategorised | Type: component | MCP Tools: 15

Overview

MLJAR-first AutoML adapter kept under the historical adapt_autosklearn name for compatibility. The preferred backend is MLJAR (mljar-supervised); auto-sklearn naming and execution are compatibility-only. When MLJAR is unavailable, the component surfaces that dependency gap through capability discovery, structured degradation, and warning cards. Non-production requests may still use the deterministic majority-classifier (classification) or mean-regressor (regression) baseline; production mode blocks that fallback.

When to use:

  • When you want MLJAR AutoML search, structured reports, artifact manifests, and explicit dependency health through G6's AIBlock interface
  • On any platform when you want a deterministic baseline (majority class / mean) with a loud qualified-draft reliability envelope
  • As a sanity-check baseline in adapt_automl benchmarking -- the fallback's accuracy bounds the real AutoML's value-add

Example:

from mvp.adapt_autosklearn import AdaptAutoSklearnBlock, AutoSklearnInput

block = AdaptAutoSklearnBlock(name="autosklearn")
result = block.infer(AutoSklearnInput(
    X=[[1.0, 2.0], [2.0, 3.0], [3.0, 4.0]],  # n_samples x n_features
    y=[0, 0, 1],                              # class labels for classification
    task="classification",                    # or "regression" / "auto"
    mode="fit_predict",                       # or "fit" / "predict"
    time_left_for_this_task=60,               # MLJAR total search budget (sec)
    allow_fallback=True,                      # production_mode=True still blocks fallback
))
# With MLJAR installed:
#   result.value.backend == "mljar"; reports and artifact_manifest are populated
# With MLJAR absent in non-production mode:
#   result.value.backend == "fallback"
#   result.value.best_model == "majority_classifier"
#   result.value.predictions == [0, 0, 0]
#   result.value.score == 0.6667  (2/3 labels were 0)
#   result.value.completion_state == "qualified-draft"
#   result.value.warning_card explains that real AutoML search did not run

Works well with: adapt_automl (richer FLAML/AutoGluon/H2O AutoML when available), adapt_algo_selector (rule-based algorithm picker as a faster alternative), adapt_sklearn (manual model selection)

Public API

AdaptAutoSklearnBlock(AIBlock[AutoSklearnInput, AutoSklearnOutput, Any])

Stateful optional adapter for auto-sklearn classifiers and regressors.

Field Type Default
name str 'adapt_autosklearn'
state Any \| None None

Methods:

infer(data: AutoSklearnInput) -> Result[AutoSklearnOutput]

bias() -> dict[str, Any]

AutoSklearnInput(BaseModel)

Input for fitting or using the AutoML compatibility adapter.

Field Type Default
X list[list[float]] required
y list[float \| int \| str] Field(default_factory=list)
backend Literal['auto', 'mljar', 'autosklearn'] 'auto'
mode Literal['fit', 'predict', 'fit_predict'] 'fit_predict'
task Literal['auto', 'classification', 'regression'] 'auto'
mljar_mode Literal['Explain', 'Perform', 'Compete', 'Optuna'] 'Explain'
validation_strategy str \| dict[str, Any] 'auto'
explain_level int Field(default=2, ge=0, le=2)
results_path str ''
eval_metric str 'auto'
time_left_for_this_task int Field(default=30, ge=1, le=86400)
per_run_time_limit int Field(default=10, ge=1, le=86400)
ensemble_size int Field(default=1, ge=0, le=500)
seed int Field(default=42, ge=0)
n_jobs int Field(default=1, ge=1, le=64)
include_estimators list[str] Field(default_factory=list)
exclude_estimators list[str] Field(default_factory=list)
allow_fallback bool True
production_mode bool False
request_id str ''
task_id str ''
run_id str ''

AutoSklearnLeaderboardEntry(BaseModel)

One candidate entry reported by an AutoML backend.

Field Type Default
rank int required
name str required
score float \| None None
params dict[str, Any] Field(default_factory=dict)

DegradationNotice(BaseModel)

Normalized degradation notice for missing or partial backend capability.

Field Type Default
reason str required
missing list[str] Field(default_factory=list)
impact str ''
install_hint str ''
recoverable bool True

BackendNativeOpRequest(BaseModel)

Constrained request for an allowlisted backend-native operation.

Field Type Default
operation str required
input dict[str, Any] Field(default_factory=dict)
safety_context dict[str, Any] Field(default_factory=dict)
dry_run bool False
max_runtime_ms int Field(default=10000, ge=1, le=300000)

CapabilityDiscovery(BaseModel)

AutoML backend capability discovery payload.

Field Type Default
component str 'adapt_autosklearn'
backend str 'mljar'
available bool False
status str 'missing_dependency'
supported_modes list[str] Field(default_factory=list)
supported_ops list[str] Field(default_factory=list)
degraded_ops list[str] Field(default_factory=list)
safety_policy dict[str, Any] Field(default_factory=dict)

AutoSklearnOutput(BaseModel)

Result returned by AdaptAutoSklearnBlock.

Field Type Default
task str required
backend str required
best_model str required
predictions list[Any] \| None None
score float \| None None
leaderboard list[AutoSklearnLeaderboardEntry] Field(default_factory=list)
degraded bool False
degradation_reason str ''
degradation list[dict[str, Any]] Field(default_factory=list)
warning_card dict[str, Any] Field(default_factory=dict)
available_with list[str] Field(default_factory=list)
fallback_used bool False
completion_state Literal['verified', 'qualified-draft', 'blocked-escalated'] 'qualified-draft'
evidence dict[str, Any] Field(default_factory=dict)
request_id str ''
task_id str ''
run_id str ''
report dict[str, Any] Field(default_factory=dict)
artifact_manifest dict[str, Any] Field(default_factory=dict)
explainability dict[str, Any] Field(default_factory=dict)
model_cards list[dict[str, Any]] Field(default_factory=list)
warnings list[str] Field(default_factory=list)
agentic_evidence dict[str, Any] Field(default_factory=dict)

MCP Tools

Operation Source
ops adapt_autosklearn_mcp
help adapt_autosklearn_mcp
readiness_check adapt_autosklearn_mcp
list_strategies adapt_autosklearn_mcp
infer_task adapt_autosklearn_mcp
decide_missing_dependency adapt_autosklearn_mcp
explain_fallback_model adapt_autosklearn_mcp
list_patterns adapt_autosklearn_mcp
discover_capabilities adapt_autosklearn_mcp
dependency_health adapt_autosklearn_mcp
structured_report adapt_autosklearn_mcp
artifact_manifest adapt_autosklearn_mcp
backend_native_op adapt_autosklearn_mcp
classification adapt_autosklearn_mcp
regression adapt_autosklearn_mcp