Skip to main content

Benchmarking framework for Feature Selection algorithms 🚀

Project description

fseval

build status pypi badge

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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fseval-2.1.0.tar.gz (33.8 kB view details)

Uploaded Source

Built Distribution

fseval-2.1.0-py3-none-any.whl (55.0 kB view details)

Uploaded Python 3

File details

Details for the file fseval-2.1.0.tar.gz.

File metadata

  • Download URL: fseval-2.1.0.tar.gz
  • Upload date:
  • Size: 33.8 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for fseval-2.1.0.tar.gz
Algorithm Hash digest
SHA256 ffd165319e20ba3b52e17ce9bb75593c4911575b317a6cdf3a6df9f649c2684f
MD5 db13a82bd7258a8dcfbcee20a3fb7a61
BLAKE2b-256 cf07c36e5885a82fde1602769c2504725d951997e8b49c33726455fd2bb0971a

See more details on using hashes here.

File details

Details for the file fseval-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: fseval-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 55.0 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for fseval-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3309dab4323130f3359d4a878e63f899eb662bd3dc590fc36da2388609186b95
MD5 3f907eaab0057eef40e4ce79653f1c9c
BLAKE2b-256 25a52d1fb656920e469f9ac184584a9477163c65d9c20a55813461df32b20ed2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page