**Description**: libPLS is an integrated library for facilitating the use of PLS written in MATLAB. It includes a whole set of functions for data pretreatment, outlier detection, variable selection, model building, cross validation and prediction.

**Website**: www.libpls.net

**Citation**: *Li H.-D., Xu Q.-S., Liang Y.-Z. (2014) libPLS: An Integrated Library for Partial Least Squares Regression and Discriminant Analysis. PeerJ PrePrints 2:e190v1*, source codes available at www.libpls.net.

parisaIt has been a while since I have started surfing the net for finding a matlab code to perform Opls! once I came across to this toolbox, it was really unbelievable for me. Softwares like Unscrambler and Simca were not as advantageous as this toolbox was for me!

Showing my appreciation is the least thing I could do.

Thank you a million 100000000000000000000000000000000 😉

adminPost authorThank you Parisa, a lot!

AlinHi,

could you tell me the performance of the libpls toolbox compared with that available in off the shelf packages such as The Unscrambler, please?

LPost authorSorry, I am not a fan of commerial softwares and did not do the comparison.

KishoreHi,

How can i save the created model from the PLS? I want to use the saved model for unknown sample. Is there any way to save the model changing th following lines:

PLS=pls(Xcal,ycal,10); %+++ Build a PLS regression model using training set

[ypred,RMSEP]=plsval(PLS,Xtest,ytest); %+++ make predictions on test set

Looking forward for your reply,

Thanks & Regards,

Kishore

AhmadIt is fantastic, thank you for sharing the code,

Bests,

Ahmad

qianqianI would like to ask how libplsda for multi-classification, multi-categorical variables how to filter, thank you.

LPost authorHmm, multi-classification was not implemented in libPLS.

Jwei JIaSteps to build a PLSR model using the LibPLS tool to build

1) Outliers detection

2) Cross validation to choose the optimal numbers of LVs

3) Build a PLS regression model

I want to konw whether the steps are right or not?

I confused to the selection of the optimal numbers of LVs in the example, A=6,optlvs=6, if A=30 the optlvs=24,

So I do not konw what initial value of A ,I should set.

Look forward Your Reply!

Best Wishes!

Yours Jia!

LPost authorSteps for building a PLS model or any models by any methods are in general flexible and often an iterative process(not simply a single step, but a process).

The steps above are just one possible version(not fixed). For example, if your data are known to be of high quality, outlier detection would be omitted.

Regarding initial value of A, it is, again, data-dependent. The key is not about the settting of initial A, but about the selection of the optimal A by CV. If you are not certain, a large A can be initialized though the optimal A may be small, say 3.