Repository navigation
FeatRanker v0.4.0
Added
- Dummy baseline (
DummyClassifier/DummyRegressor): only models that strictly beat it vote in the consensus. Reports gainbaseline_scoreand per-modelin_consensus; an empty consensus warns. FeatureRanker(models={...})to rank with your own estimators or Pipelines (cloned atfit()).n_jobs/--n-jobsto fit and rank models in parallel with results identical to sequential runs.- Report
provenance(featranker, Python, NumPy, scikit-learn versions) and per-model JSON-safeparams. - End-to-end tests of the shipped model registry; CI matrix over Python 3.10–3.13 and scikit-learn 1.5.x/latest.
Changed
- Built-in linear models standardize features internally (
StandardScalerfit on training data only). - Permutation reuses one scratch matrix per model (same results, less copying).
- CLI moved to
featranker/cli.py(console scriptfeatranker.cli:main); CSV flags are argparse-required and no arguments prints help. - Every classification target is label-encoded to 0..n-1; regression targets must be numeric.
- CSV targets are typed by
--task, so train/eval label sets stay comparable.
Fixed
- Longer unseen eval labels were silently truncated to the training label width and accepted.
- Mixed numeric/text targets across train and eval CSVs produced all-zero scores without error.
- L1/elastic-net logistic models silently ran as L2 on scikit-learn < 1.8.
- XGBoost failed on classification labels not starting at 0.
pls_da(PLSRegression) removed: it is not a classifier.- A failed refit left the ranker marked fitted.
- NaN/inf features are rejected; CSV BOMs and blank lines are handled; invalid scorer,
n_repeats, or feature groups fail before any model is fit. - Build requires setuptools>=77 for the SPDX license field.
Removed
- Legacy preparation workflow:
build_ranker(),run_ML(),rankFeatures(),prep_file/prep_class,--prep-file/--prep-class, in-sampleevaluation_mode, andfeatranker.importance.main.
Known issues
- CatBoost 1.2.8 lacks
__sklearn_tags__; scikit-learn 1.8 may turn the current deprecation warning into per-model failures.
Full Changelog: v0.3.0...v0.4.0