My dataset consists of multiple input variables (X) and multiple output variables (Y).

For example:

| X1| X2 | X3 |    | Y1| Y2 | Y3 |
| 1 |  1 |  0 |    | 2 |  2 |  0 |
| 2 |  2 |  1 |    | 3 |  3 |  1 |
| 3 |  3 |  3 |    | 4 |  5 |  6 |

But, I don't actually want to predict the output variables Y. I want to actually predict the input variables X given Y. I understand that switching the variables X and Y might not be 'optimal' since there could be multiple input values that yield the same output values, but I don't see how else I solve this type of problem. I was planning on using a Random Forest or simple neural net.

From the help I've been trying to get, it seems that I should keep input and output variables as is, but rather use optimization techniques to find the best input(the variable I want to predict) for a given output. I am unsure if my initial intuition on reversing the inputs and outputs would 'get the job done'.

For a more detailed breakdown on the actual problem I am trying to solve, please see this link.


1 Answer 1


The problem is a bit vague but here a couple ideas:

  • Just use the Y variables as features and predict the X variables. The most basic option is to consider every Xi as independent of the others, and train an independent model for each of them. A more advanced approach is to train a joint model which predicts all the Xi together (i.e. the class would be for instance "1,1,0"), but this probably requires a lot more data.
  • In the idea of optimization techniques, there might be some way to use genetic learning in order to obtain the optimal X values given the Y values. However I don't see how to design the population with many different Y combinations, but maybe it's possible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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