Code covered by the BSD License  

Highlights from
libPLS: An Integrated Library for Partial Least Squares Regression and Discriminant Analysis


5.0 | 2 ratings Rate this file 83 Downloads (last 30 days) File Size: 564 KB File ID: #29993

libPLS: An Integrated Library for Partial Least Squares Regression and Discriminant Analysis



10 Jan 2011 (Updated )

chemometrics, metabolomics, model population analysis, variable selection, feature selection

| Watch this File

File Information

1 Introduction
    PLS regression and PLS-DA for data analysis in chemistry and OMICS studies. Also included in this package are 3 variable/feature selection methods: 1) target projection (TP) 2) competitive adaptive reweighted sampling (CARS) 3) subwindow permutation analysis (SPA). SPA is based on model pupulation analysis (MPA). 4) PHADIA for variable selection 5) VCN for calculating variable complementary information network...
   To help quickly familiarize yourself with this toolbox, please first run the demo script which tells you how to call the functions, ;-)

Required Products Statistics Toolbox
MATLAB release MATLAB 7.0.1 (R14SP1)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (6)
19 Jun 2014 Hongdong Li

Please note that the most recent version and documents are available at What provided here may not be the most recent.

14 Apr 2013 Hongdong Li

Hi,this package has been updated to the libPLS toolbox in my new submission here.

24 Mar 2013 Luuk

Xiu: I stumbled on the code you're looking for. It's in plscvfold.m;

groups = 1+rem(0:Mx-1,K);
for group=1:K
testk = find(groups==group); calk = find(groups~=group);

23 Mar 2013 Luuk

@Xiu: I'm not familiar with Bayesian or FDA, but isn't the problem you're describing because the DM2 data is already pretreated/scaled?

Maybe by something like:

for II=1:size(OrinalXcal,1)


15 May 2012 Xiu

The code has been very helpful. However, I do have a question on the example you included. The test_package_functions.m calls data DM2 which contains two variables Xcal and ycal. The ycal only has numbers either +1 or -1, which works out nicely in the ldapinv.m (performs bayesian approximation or FDA). I don't quite understand it here since I'm not familiar with Bayesian approximation or FDA. When I have my own dataset, which means my y would have numbers other than +/-1, the formation of XX has dimensionality problem. I believe this is due to both B, kp, and kn are empty matrices (matrices of locations of +/-1 elements). The influence of this result extends further into the plslda.m. How should I fix this problem if I want to use my own data? Please help me with this.


25 Apr 2011 aoli ao

very helpful,thanks a lot

10 Jan 2011

A short description on how to use this toolbox is added to the description section.

12 Jan 2011

Title changed('linear' removed)

15 Apr 2013

This package has been updated and integrated into the libPLS library in my submission, so use libPLS instead of this one.

27 Jan 2014

PLS regression and discriminant analysis were integrated

29 Jan 2014

Title changed only

10 Feb 2014

use the PLS-2 NIPALS algorithm (can handle multiple Y)

11 Feb 2014

add an additional criterion for choosing the optimal nLV of PLS regression (considering standard deviation)

03 Mar 2014

Interval Random Frog (iRF), IRIV andVariable complementary network (VCN) are added

19 Jun 2014

Put sesp.m as a subfunction in roccurve.m and an issue in roccurve.m corrected. Results related to lda not affected.

19 Jun 2014

same, dir name changed.

19 Jun 2014

an issue in demo_PLS_Discriminant_Analysis corrected

19 Jun 2014

a few functions removed.

10 Jul 2014

Elastic Component Regression (ECR) added.

Contact us