I have a very unique problem that I would like to solve using machine learning. I have a set of 90 or so unique options. Each of these options has a unique set of features (5 to be specific) that vary over time and that can be represented mathematically as either scalars or booleans. I want to train a model to tell me what the best option at that moment is given the complete set of inputs.

At first, I figured a simple feedforward neural network would do the trick but I don't have a ton of experience with ML models so I ran into the following issue. I know my problem isn't really a classification problem since I am trying to pick the best option. I figured it could be easily modelled as a regression problem (as some mathematical combination of the inputs) which is fine but then I don't know what the expected outcome would be. For example, if the expected output is the weighted average of the inputs, I don't know what the final value should be. All I know is that option B should be suggested over option A.

I started reading about random forests and they seem like they might help my situation but I wanted to get other opinions first.

  • $\begingroup$ The problem seems to be somewhat similar one I have now. But this us little tricky I have an issue in analyzing some data. I have to predict the best company and rank it based on some variables we considered. The issue here is we dont have any dependent variable to do a regression. All variable are independent. So I have done Z-score to all the variable and generated a score for each company. Now i'm considering the score as dependent variable and applied multiple regression analysis between the dependent variable(score generated using z-score) and other independent variables. But the generate $\endgroup$ Commented Nov 2, 2015 at 13:38
  • $\begingroup$ Looks like contextual bandit problem to me. You are trying to come up with the best decision to make at each time moment given only some previous and current observations. You don't have access to some loss function which is required in classic supervised approaches for classification. $\endgroup$ Commented Nov 2, 2015 at 16:38

1 Answer 1


What I was looking for is called ordinal regression or ranking learning (https://en.wikipedia.org/wiki/Ordinal_regression)

Edit: I will elaborate more on why this solved my issue What I was having a problem with was finding a statistical model to appropriately predict the ordinality of multiple independent options. What I cared about was the order of the options and less so about what the value of the options was.

Ordered Logit/Probit describe such models. The provided wikipedia link explains them in far more detail than I can.

  • 1
    $\begingroup$ Just noticed this is self-answered. Could you explain why this is a good answer to your problem (link-only answers are discouraged in Stack Exchange)? $\endgroup$ Commented Sep 21, 2015 at 6:48
  • $\begingroup$ I will elaborate $\endgroup$ Commented Sep 21, 2015 at 18:16
  • $\begingroup$ Thank you. So your problem is that you have known values (ground truth) for correct ranking of some of the options based on their features, but not all of them? And/or correct ranking of the top options, not just selecting the best one, is an important outcome for your predictive model? I'm asking because neither of those things are clearly stated in the original question (so I was going to suggest perhaps reinforcement learning based on answers to my comment, but clearly now that would be completely wrong!) $\endgroup$ Commented Sep 21, 2015 at 18:25

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.