Skip to content

Release STREAMLINE v1.0.0: P1-P11 pipeline, multiclass/regression support, new features and overhaul#8

Merged
raptor419 merged 111 commits into
mainfrom
v3
Jul 8, 2026
Merged

Release STREAMLINE v1.0.0: P1-P11 pipeline, multiclass/regression support, new features and overhaul#8
raptor419 merged 111 commits into
mainfrom
v3

Conversation

@raptor419

@raptor419 raptor419 commented Jul 7, 2026

Copy link
Copy Markdown
Member

Release STREAMLINE v1.0.0: P1-P11 pipeline, multiclass/regression support, config runs, and reporting overhaul

This PR promotes the current v3 branch into main as the STREAMLINE v1.0.0 release. Compared with the current main/v0.3.4 release line, v1.0.0 is a major release that reorganizes, expands, and modernizes STREAMLINE while preserving the goal of transparent end-to-end AutoML for tabular data.

Major Changes From v0.3.4/prev main

Architecture And Run Workflow

  • Refactored STREAMLINE into explicit P1-P11 phase modules: data processing, imputation/scaling/balancing, feature learning, feature importance, feature selection, modeling, classification ensembles, summary statistics, dataset comparison, replication, and reporting.
  • Added config-driven full-pipeline execution with .cfg files, while keeping phase-by-phase command-line and notebook workflows available.
  • Standardized parameter names across config files, command-line arguments, notebooks, and saved run-command metadata.
  • Added run-command pickle support so repeated phase calls can reuse the parameters that were actually used, while allowing users to override or ignore saved values when needed.
  • Added Parallel local multiprocessing-style execution in addition to Serial, local Dask through Local, and supported cluster submission modes.
  • Reorganized code around registries so users can add or swap methods more cleanly across phases, including Phase 2 imputers/scalers, Phase 3 learners, Phase 4 feature-importance methods, Phase 5 selectors, Phase 6 models, and Phase 7 ensembles.

Binary, Multiclass, And Regression Support

  • Extended STREAMLINE beyond the earlier primarily binary-classification workflow to support binary classification, multiclass classification, and regression as first-class task types.
  • Added UCI-based demo datasets and matching held-out replication splits for binary classification, multiclass classification, and regression tutorials and tests.
  • Updated P1 task handling so user-specified outcome_type is respected instead of being re-inferred only from the number of outcome values.
  • Updated P6 model loading and evaluation around task-specific model registries for binary, multiclass, and regression runs.
  • Added multiclass evaluation support, including macro/micro metrics and multiclass ROC/PR curve summaries where applicable.
  • Added regression evaluation support, including regression metrics such as explained variance, Pearson correlation, MAE, MSE, median absolute error, max error, residual outputs, and actual-vs-predicted style reporting.
  • Updated reports and summary statistics so metric names, no-skill baselines, curves, and plots are task-aware instead of assuming binary classification.
  • Clarified that P7 ensemble modeling is currently classification-only, so regression workflows proceed from P6 modeling to P8 summary statistics.

Data Processing, Feature Types, And Preprocessing

  • Added clearer feature-type handling for categorical and quantitative features, including optional user-supplied feature type files and inferred feature types.
  • Added optional SMOTE/SMOTENC balancing after Phase 2 imputation and scaling, with SMOTENC used when categorical features are present.
  • Added support for bypassing one-hot encoding when using models that can handle categorical features natively.
  • Added explicit native-categorical model controls so unsupported models are rejected when one-hot encoding is disabled instead of silently receiving an incompatible representation.
  • Kept preprocessing extensible through the Phase 2 registry, so users can add scalers such as MaxAbsScaler or custom imputers without changing the rest of the pipeline.

Feature Learning, Importance, And Selection

  • Added P3 feature learning as a dedicated phase, including PCA-style learned feature outputs and manifests.
  • Updated replication handling to use the saved training workflow artifacts and feature manifests more consistently.
  • Updated Phase 4 so feature-importance methods write scores without mutating shared CV datasets, avoiding order-dependent outputs and parallel race risks.
  • Updated scikit-rebate integration for the current package behavior, including passing STREAMLINE's categorical feature indexes to ReBATE methods.
  • Added MultiSWRFDB and MultiSWRFDB* feature-importance methods.
  • Updated default feature-importance/selection behavior around mutual information, MultiSWRFDB, and MultiSWRFDB*.
  • Improved Phase 5 feature selection so rankings can be combined across all feature-importance methods that were run, not only a fixed pair of methods.
  • Added or restored instance_subset support for expensive feature-importance methods so large runs can be controlled from config/CLI parameters.

Modeling And Native Categorical Algorithms

  • Reworked Phase 6 modeling around clearer dataset/model/CV execution units for serial, parallel, Dask, and cluster runs.
  • Added Decision Tree support for classification workflows.
  • Added or updated HEROS wrappers and optional TabPFN wrappers.
  • Added TabPFN token handling: if TABPFN_TOKEN is not set, requested TabPFN models are skipped with a warning while HEROS and other requested models continue.
  • Updated ExSTraCS categorical initialization so categorical and continuous attributes can be passed through its supported discrete_attribute_limit and specified_attributes parameters.
  • Improved native categorical model handling for compatible algorithms such as CatBoost/CGB and ExSTraCS.
  • Added Optuna trial accounting so reports can show how many trials actually ran within the requested n_trials and timeout budgets.
  • Standardized model defaults across config, command-line, and notebook run modes, including removal of deprecated/default-only legacy methods where appropriate.

Reporting, Replication, And Outputs

  • Added standard and replication PDF report improvements, including clearer first-page summaries, experiment names, resolved/default parameter display, and report-mode-specific text.
  • Added dedicated replication report naming and clearer replication report content so replication outputs are not confused with standard CV reports.
  • Improved report language around categorical handling, scaling/imputation, feature learning, feature selection, and metric interpretation.
  • Added feature-learning and feature-selection summary tables modeled after the data-processing/feature-engineering summary style.
  • Improved feature-importance figure layout, including more square plots and clearer ordering emphasis.
  • Updated metric highlighting to use shading rather than only bold text.
  • Added no-skill ROC/PR legend notes and label-aware baseline handling for multiclass or non-stratified/random CV settings.
  • Improved output organization and report data JSON so reports are easier to debug and regenerate.

Notebooks, Documentation, Tests, And Release Readiness

  • Updated the Google Colab notebook and local Jupyter notebook for the v1.0.0 workflow, including parameter blocks for binary, multiclass, regression, and custom dataset runs.
  • Rebuilt the documentation website around the v1.0.0 workflow as the new main documentation site.
  • Added Sphinx/autodoc documentation build support.
  • Added GitHub pytest workflows for Python 3.10, 3.11, and 3.12. Python 3.9 was skipped because TabPFN does not support it.
  • Added optional TabPFN-specific pytest coverage for no-token skip behavior and token-gated wrapper fitting.
  • Added macOS installation guidance for conda-forge compiled dependencies such as Graphviz, WeasyPrint/Cairo/Pango, LightGBM, XGBoost, and CatBoost.
  • Removed or de-emphasized old main-era documentation paths and files that are no longer part of the maintained v1.0.0 workflow.

Branch / Release Notes

  • This PR merges the current v1.0.0 branch into main.
  • The release should be tagged as v1.0.0 after merge.
  • The current main state has been preserved separately as the v0.3.4 branch for the previous tested/stable v0.3.4 release line.
  • Branch names are intentionally not being changed in this PR; they can be renamed or reorganized manually after the merge if needed.

raptor419 added 30 commits July 7, 2026 13:34
@raptor419 raptor419 requested a review from ryanurbs July 7, 2026 23:38
@raptor419 raptor419 changed the title Release STREAMLINE v3: P1-P11 pipeline, multiclass/regression support, new features and overhaul Release STREAMLINE v1.0.0: P1-P11 pipeline, multiclass/regression support, new features and overhaul Jul 8, 2026
@raptor419 raptor419 merged commit b313821 into main Jul 8, 2026
4 checks passed
@raptor419 raptor419 deleted the v3 branch July 8, 2026 03:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant