/RENT

Feature selection method based on repeated elastic net.

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

RENT

RENT (Repeated Elastic Net Technique) is a feature selection method for binary classification and regression problems. At its core RENT trains an ensemble of generalized linear models using regularized elastic net to select features. Each model in the ensemble is trained using a randomly, iid sampled subset of rows of the full training data. A single data point can appear at most once in each subset, but may appear in multiple subsets. From these unique models one can acquire weight distributions for each feature that contain rich information on the stability of feature selection and from which several adjustable classification criteria may be defined.

More details are in the original paper published in IEEE Access: RENT - Repeated Elastic Net Technique for Feature Selection

Example

Below are links to Jupyter-notebooks that illustrate how to use RENT for

Requirements

Make sure that Python 3.5 or higher is installed. A convenient way to install Python and many useful packages for scientific computing is to use the Anaconda Distribution

  • numpy >= 1.11.3
  • pandas >= 1.2.3
  • scikit-learn >= 0.22
  • scipy >= 1.5.0
  • hoggorm >= 0.13.3
  • hoggormplot >= 0.13.2
  • matplotlib >= 3.2.2
  • seaborn >= 0.10

Installation

To install the package with the pip package manager, run the following command:
python3 -m pip install git+https://github.com/NMBU-Data-Science/RENT.git

Documentation

Documentation is available at ReadTheDocs. It provides detailed explanation of methods and their inputs.

Citing the RENT package

If you use RENT in a report or scientific publication, we would appreciate citations to the following paper:

DOI

Jenul et al., (2021). RENT: A Python Package for Repeated Elastic Net Feature Selection. Journal of Open Source Software, 6(63), 3323, https://doi.org/10.21105/joss.03323

Bibtex entry:

@article{RENT,
doi = {10.21105/joss.03323},
url = {https://doi.org/10.21105/joss.03323},
year = {2021},
publisher = {The Open Journal},
volume = {6},
number = {63},
pages = {3323},
author = {Anna Jenul and Stefan Schrunner and Bao Ngoc Huynh and Oliver Tomic},
title = {RENT: A Python Package for Repeated Elastic Net Feature Selection},
journal = {Journal of Open Source Software}
}