Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a learning problem from $X$ to $Y$ where:

  • $X$ = $n$ input numeric vectors of $m$ dimensions
  • $Y$ = $n$ output numeric vectors of $k$ dimensions

In other words:

      enter image description here

I am hoping to collect a list of R packages or Python libraries for multiple-output problems for classification and regression.

For example, do any of the learning methods in caret support this functionality? What packages in general are available for this problem?

share|improve this question
Are all $k$ elements of $Y$ numeric? – curious_cat Mar 6 '13 at 5:08
Sounds like a many-to-many neural network might be one option. – curious_cat Mar 6 '13 at 14:44
@curious_cat. They are numeric. I just updated the OP – Amelio Vazquez-Reina Mar 6 '13 at 15:03
Since I cannot comment, I am looking for a similar solution to my problem i.e. multiple output. Does anyone know of any packages in R which supports multi outputs? My two outputs have a significant covariance. I have been predicting them separately using multiregression, trees and random forests, but I wish to predict them together. I am aware that this is possible using PLS and ANN, but is there any package like caret which does the aforementioned in a faster, compact way? – Chiranth Hegde Mar 27 '15 at 5:43

I know of the PLS R-package, which support multi-response regression. See "The pls Package: Principal Component and Partial Least Squares Regression in R", Journal of Statistical Software, Vol. 18, Issue 2, Jan 2007 for more information.

There is some more information at

share|improve this answer

I recommend the following resources (for some of those, you would need to do some detective work, obviously). I agree with @Innuo that PLS regression and pls R package are worth the look.

For Python:

For R:

I think that the following resources might also be quite helpful: this relevant discussion on CV, this technical report on multi-output learning via spectral filtering, this page on Output Kernel Learning, and this excellent tutorial on multi-target prediction.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.