Explore Data and Run Experiments
Experiments, jobs, and tracking
An experiment is a logical grouping; each run is a job submitted with SDK v2 (ml_client.jobs.create_or_update) or CLI v2 YAML. Track everything with MLflow: mlflow.log_param, log_metric, log_artifact, plus autolog() for scikit-learn, PyTorch, and similar frameworks, which records parameters, metrics, and the model. Compare runs in the studio's run list. A frequent trap: the primary metric name in a sweep must exactly match the metric name your script logs - mismatched names make the sweep fail silently or pick nothing.
Hyperparameter tuning (sweep jobs)
Define a search space (choice, uniform, loguniform, quniform) and choose sampling: random (best general default), grid (expensive, exhaustive), or Bayesian (sample-efficient but sequential - keep concurrency at 1 and do not attach an early-termination policy). Early termination saves cost: bandit compares against the best run with a slack factor, median stopping uses running averages, and truncation selection culls the bottom percentage. Bound the sweep with max_total_trials, max_concurrent_trials, and timeout.
Automated ML and data exploration
AutoML handles classification, regression, and forecasting with automatic featurization and sweeping over models; in SDK v2 the training data must be an mltable. Use pandas for in-memory exploration and mltable for large or streaming data.
Worked example
For an XGBoost tuning run, use random sampling, bandit termination evaluated every 2 intervals with slack 0.1, max_total_trials=30, max_concurrent_trials=4, and maximization of accuracy - the exact string your training script logs.