Aritra/v2 - #11
Merged
Merged
Aritra/v2#11
Conversation
Adds two classical classifiers alongside XGBoost, selectable from `model` in a config exactly like `rf` or `xgb`, each with an `_opt` twin driven by `gridsearch_<model>_args` through both the Optuna and exhaustive-grid engines. Both are also available as `qpl` heads, and CatBoost additionally as a QuantumSage surrogate (`sage_type='catboost_optuna'`). catboost is a base dependency; tabpfn is a new `[tabpfn]` extra, kept out of the base install because it brings torch's ecosystem plus mlx, lightgbm, huggingface-hub and safetensors, and `import qbiocode` must not pull torch in. TabPFN is pinned to model version v2. Its weights are licensed per version: v2 is Prior Labs License v1.1 (Apache 2.0 plus attribution) and permits commercial use, while v2.5/v2.6/v3 are non-commercial and non-production and require an interactive license acceptance. Upstream defaults to v3; QBioCode does not, because this is Apache-2.0 software whose users include companies. Selecting a restricted version works and warns, naming the license. Notable fixes found while integrating: * CatBoost's `subsample` and `bagging_temperature` belong to mutually exclusive bootstrap schemes whose default CatBoost derives from the loss, so a config's validity depended on something it did not state. `bootstrap_type` is now pinned on both the tuned and untuned paths, which share one guard. * CatBoost wrote `catboost_info/` into the working directory on every fit, shared by every joblib worker, and logged a line per boosting iteration. * A TabPFN fit killed the process on macOS: torch's OpenMP runtime cannot coexist with the xgboost runtime qbiocode initialises first, and the failure was a bare SIGSEGV. `OMP_NUM_THREADS=1` is now set before the tabpfn import. * `min_data_in_leaf` was searchable but inert at CatBoost's default grow policy, so several values are now refused rather than silently multiplying fits. * A license-gated TabPFN QPL head took the whole run down after the quantum projection had already been computed; it is now dropped with a warning. * `get_creds` printed the IBM Quantum API token to stdout on every call. * QProfiler warned about non-binary datasets and continued into a certain failure inside `roc_auc_score`; it now refuses up front. Also included: the Optuna tuning work this branch already carried. The two are committed together because their changes interleave within the same files (`model_run.py`, `config.md`, `CHANGELOG.md`) and cannot be separated cleanly. New tutorial `tutorial/CatBoost_and_TabPFN/catboost_and_tabpfn.ipynb`; the QProfiler tutorial now benchmarks CatBoost too. Full suite: 692 passed, 7 skipped.
evlauate() now returns thre blocks: hand-curated earlier 7 measures, curated pyMFE metrics (mfe.), and the target-spectrum (task.), which describes where y influences geeometric spectrum of X. Also includes CatBoost and TabPFN
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Type of Change
Related Issue(s)
Fixes #
Closes #
Related to #
Changes Made
Component(s) Affected
Testing
Test Configuration
Tests Performed
Test Details
# Example test code or commands usedScreenshots/Output (if applicable)
Checklist
Code Quality
Documentation
Testing
Dependencies
requirements.txtorsetup.pyif neededBreaking Changes
Breaking Changes Description
Additional Notes
Reviewer Notes
For Maintainers