Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mlampros/featureselection

Feature Selection in R using glmnet-lasso, xgboost and ranger
https://github.com/mlampros/featureselection

feature r selection

Last synced: about 9 hours ago
JSON representation

Feature Selection in R using glmnet-lasso, xgboost and ranger

Awesome Lists containing this project

README

        

[![tic](https://github.com/mlampros/FeatureSelection/workflows/tic/badge.svg?branch=master)](https://github.com/mlampros/FeatureSelection/actions)
[![codecov.io](https://codecov.io/github/mlampros/FeatureSelection/coverage.svg?branch=master)](https://codecov.io/github/mlampros/FeatureSelection?branch=master)
Buy Me A Coffee
[![](https://img.shields.io/docker/automated/mlampros/featureselection.svg)](https://hub.docker.com/r/mlampros/featureselection)


#### Feature Selection in R using glmnet-lasso, xgboost and ranger


This R package wraps **glmnet-lasso**, **xgboost** and **ranger** to perform feature selection. After downloading use ? to read info about each function (i.e. ?feature_selection). More details can be found in the blog-post (http://mlampros.github.io/2016/02/14/feature-selection/). To download the latest version from Github use,


```R
remotes::install_github('mlampros/FeatureSelection')

```


**Package Updates**:

* Currently there is a new version of *glmnet* (3.0.0) with new functionality (*relax*, *trace*, *assess*, *bigGlm*), however it requires an R version of 3.6.0 (see the [new vignette](https://cran.r-project.org/web/packages/glmnet/vignettes/relax.pdf) for more information).
* In the *ranger* R package the *ranger::importance_pvalues()* was added
* Currently, the recommended approach for future selection is [SHAP](https://github.com/slundberg/shap)


**UPDATE 03-02-2020**


**Docker images** of the *FeatureSelection* package are available to download from my [dockerhub](https://hub.docker.com/r/mlampros/featureselection) account. The images come with *Rstudio* and the *R-development* version (latest) installed. The whole process was tested on Ubuntu 18.04. To **pull** & **run** the image do the following,


```R

docker pull mlampros/featureselection:rstudiodev

docker run -d --name rstudio_dev -e USER=rstudio -e PASSWORD=give_here_your_password --rm -p 8787:8787 mlampros/featureselection:rstudiodev

```


The user can also **bind** a home directory / folder to the image to use its files by specifying the **-v** command,


```R

docker run -d --name rstudio_dev -e USER=rstudio -e PASSWORD=give_here_your_password --rm -p 8787:8787 -v /home/YOUR_DIR:/home/rstudio/YOUR_DIR mlampros/featureselection:rstudiodev

```


In the latter case you might have first give permission privileges for write access to **YOUR_DIR** directory (not necessarily) using,


```R

chmod -R 777 /home/YOUR_DIR

```


The **USER** defaults to *rstudio* but you have to give your **PASSWORD** of preference (see [www.rocker-project.org](https://www.rocker-project.org/) for more information).


Open your web-browser and depending where the docker image was *build / run* give,


**1st. Option** on your personal computer,


```R
http://0.0.0.0:8787

```


**2nd. Option** on a cloud instance,


```R
http://Public DNS:8787

```


to access the Rstudio console in order to give your username and password.