Ensemble Partial Least Squares Regression

An algorithmic framework for measuring feature importance, outlier detection, model applicability domain evaluation, and ensemble predictive modeling with (sparse) partial least squares regressions.

Build Status AppVeyor Build Status CRAN Version Downloads from the RStudio CRAN mirror

enpls offers an algorithmic framework for measuring feature importance, outlier detection, model applicability domain evaluation, and ensemble predictive modeling with (sparse) partial least squares regressions.


Install enpls from CRAN:


Or try the development version on GitHub:

# install.packages("devtools")

See the vignette (or open with vignette("enpls") in R) for a quick-start guide.


Measuring Feature Importance


Outlier Detection


Model Applicability Domain Evaluation / Ensemble Predictive Modeling




To contribute to this project, please take a look at the Contributing Guidelines first. Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


enpls 6.0 (2018-05-13)


enpls 5.9 (2017-09-27)


  • Use system font stack instead of Google Fonts in vignettes to avoid pandoc SSL issue.

enpls 5.8 (2017-03-24)


  • Updated gallery images in README.md.
  • Better code indentation style.
  • HTTPS enabled for the website.

enpls 5.7 (2017-01-05)


  • New documentation website generated by pkgdown, with a full set of function documentation and vignettes available.
  • Added Windows continuous integration support using AppVeyor.

enpls 5.6 (2016-11-25)

New Features

  • New argument cvfolds now available in all applicable functions for finer control of cross-validation folds in automatic parameter selection of each PLS/SPLS model.


  • Critical implementation improvements for processing the case where argument maxcomp = NULL (maximum number of components not specified explicitly) in enpls. functions. Now it should correctly determine the maximum number of components to use, considering both cross-validation and special cases such as n < p. Thanks to Dr. You-Wu Lin for the feedback.

enpls 5.0 (2016-10-20)

New Features

  • New functions enpls.ad() and enspls.ad() for PLS and sparse PLS model applicability domain evaluation.
  • New plot functions plot.enpls.ad() and plot.enpls.ad() for exploring model applicability domain evaluation results with traditional static plot support and interactive plot support.
  • New argument alpha available for setting transparency level (to reduce overplotting) in plot.cv.enpls, plot.enpls.od, plot.cv.enspls, and plot.enspls.od.

enpls 4.5 (2016-09-15)


  • Reduced memory footprints for enpls.fit() and enspls.fit().

New Features

  • New functions enpls.rmse(), enpls.mae(), and enpls.rmsle() for computing RMSE, MAE, and RMSLE.

enpls 4.0 (2016-08-28)


  • General improvements on function documentation.
  • Changing the argument name MCtimes to reptimes.
  • Changing the option name "bootstrap" to "boot".

enpls 3.0 (2016-06-22)

New Features

  • Add sparse partial least squares regression.


  • Improvements on documentation; rewritten vignette.

enpls 2.0 (2016-06-19)

New Features

  • New project website.


  • General improvements on plotting functions.

Bug Fixes

  • Fixed major bugs in cv.enpls and plotting functions.
  • Many other bug fixes.

enpls 1.1 (2015-11-26)

Bug Fixes

  • Fixed the bugs in automatic component number selection which could make the intercept-only model rank best. Thanks for the test and patch from Max Kuhn <[email protected]>.

enpls 1.0 (2014-10-03)

New Features

  • initial release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


6.1 by Nan Xiao, 2 years ago

https://nanx.me/enpls/, https://github.com/nanxstats/enpls

Report a bug at https://github.com/nanxstats/enpls/issues

Browse source code at https://github.com/cran/enpls

Authors: Nan Xiao [aut, cre] , Dong-Sheng Cao [aut] , Miao-Zhu Li [aut] , Qing-Song Xu [aut]

Documentation:   PDF Manual  

Task views: Chemometrics and Computational Physics

GPL-3 | file LICENSE license

Imports pls, spls, foreach, doParallel, ggplot2, reshape2, plotly

Suggests knitr, rmarkdown

See at CRAN