fseval
A Feature Selector and Feature Ranker benchmarking library. Neatly integrates with wandb and sklearn. Uses Hydra as a config parser.
Usage
pip install fseval
fseval help:
fseval --help
Now, create a wandb account and login to the CLI. We are now able to run benchmarks 💪🏻. The results will automatically be uploaded to the wandb dashboard.
Run ANOVA F-Value on Iris dataset:
fseval +dataset=iris +estimator@ranker=anova_f_value +estimator@validator=decision_tree
Supported Feature Rankers
A collection of feature rankers are already built-in, which can be used without further configuring. Others need their dependencies installed. List of rankers:
| Ranker | Dependency | Command line argument |
|---|---|---|
| ANOVA F-Value | <no dep> | estimator@ranker=anova_f_value |
| Boruta | pip install Boruta |
estimator@ranker=boruta |
| Chi2 | <no dep> | estimator@ranker=chi2 |
| Decision Tree | <no dep> | estimator@ranker=decision_tree |
| FeatBoost | pip install git+https://github.com/dunnkers/FeatBoost.git@support-cloning (ℹ️) |
estimator@ranker=featboost |
| MultiSURF | pip install skrebate |
estimator@ranker=multisurf |
| Mutual Info | <no dep> | estimator@ranker=mutual_info |
| ReliefF | pip install skrebate |
estimator@ranker=relieff |
| Stability Selection | pip install git+https://github.com/dunnkers/stability-selection.git@master matplotlib (ℹ️) |
estimator@ranker=stability_selection |
| TabNet | pip install pytorch-tabnet |
estimator@ranker=tabnet |
| XGBoost | pip install xgboost |
estimator@ranker=xgb |
| Infinite Selection | pip install git+https://github.com/dunnkers/infinite-selection.git@master (ℹ️) |
estimator@ranker=infinite_selection |
ℹ️ This library was customized to make it compatible with the fseval pipeline.
If you would like to install simply all dependencies, download the fseval requirements.txt file and run pip install -r requirements.txt.
Wandb support
Wandb can be enabled by using +backend=wandb. It's used to store metrics, but also files. Set any parameter to be passed to wandb.init like so:
fseval callbacks.wandb.project=<your-project-name> callbacks.wandb.group=<run-group>
Runs can be restored as follows:
fseval callbacks.wandb.id=<wandb_run_id> callbacks.wandb.log_metrics=false
→ make sure the rest of the config is the same as the previous run. You can now overwrite tables.
To disable wandb, use:
fseval "~callbacks.wandb"
About
Built by Jeroen Overschie as part of the Masters Thesis (Data Science and Computational Complexity track at the University of Groningen).
Metadata
Release files for fseval 2.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fseval-2.1.0.tar.gz | 33.8 kB | Without provenance | Details for fseval-2.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fseval-2.1.0-py3-none-any.whl | Python 3 | none | any | Details for fseval-2.1.0-py3-none-any.whl |
Total release size: 88.8 kB
Release files / fseval-2.1.0.tar.gz
| Download URL | fseval-2.1.0.tar.gz |
|---|---|
| Size | 33.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ffd165319e20ba3b52e17ce9bb75593c4911575b317a6cdf3a6df9f649c2684f
|
|
BLAKE2b-256 checksum How to use checksums |
cf07c36e5885a82fde1602769c2504725d951997e8b49c33726455fd2bb0971a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
|
Release files / fseval-2.1.0-py3-none-any.whl
| Download URL | fseval-2.1.0-py3-none-any.whl |
|---|---|
| Size | 55.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3309dab4323130f3359d4a878e63f899eb662bd3dc590fc36da2388609186b95
|
|
BLAKE2b-256 checksum How to use checksums |
25a52d1fb656920e469f9ac184584a9477163c65d9c20a55813461df32b20ed2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
|
Security for fseval 2.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.