I am looking for some suggestions of machine learning procedures that work to predict fraction outcomes where the outcome variables $\in [0,1]$. Can you provide me with any suggestions? I thought about using gradient boosting, but I believe this only works on binary data 0 or 1. I believe there are non-linearities in my data, so I'd like to use something similar to GBM that will take into account non-linear relationships.

I've been looking and still can't seems to find a machine learning procedure for this. Any help would be appreciated.

  • $\begingroup$ What do you have? The fraction a in $10/100$ or only the value 0.1? Answers will differ, first case is much more informative! Please tell us more context $\endgroup$ – kjetil b halvorsen Mar 4 '19 at 9:54

If the outcome variable really is a fraction, e.g. 15/200, then the most obvious possibility is logistic regression. Here is an example with R


If the outcome is not really a fraction but just a number between 0 and 1, ordinary linear regression comes to mind. Maybe these don't strike you as "machine learning" techniques, but ML people do use them.

  • $\begingroup$ How would you describe the difference between a fraction like 15/200 and a number between 0 and 1? $\endgroup$ – Dave Jan 7 '20 at 18:13
  • $\begingroup$ @Dave - with the fraction, you have "successes" and "totals", so to speak, and the "totals" allow you to infer the accuracy of the ratio, e.g., 1/10 is a much less accurate estimate of the true fraction than 10/100. Your estimation procedure can take into account the different accuracies of the observed fractions based on data that isn't visible if you only have the number. $\endgroup$ – jbowman Jan 7 '20 at 18:18
  • $\begingroup$ @jbowman Do you mean that your data frame would be set up to have predictor variables in a row and 1/10 or 10/100 at the end of that row, or that you have a sample size of 10 in one case and 100 in the other, but the response variable is binary? $\endgroup$ – Dave Jan 7 '20 at 18:20
  • $\begingroup$ @Dave - some algorithms will take a two-column matrix with columns (Successes, Failures) or some such as the target variable and do the calculations internally, e.g., R's glm function with family = binomial. $\endgroup$ – jbowman Jan 7 '20 at 18:26
  • $\begingroup$ @jbowman Putting aside software issues, do you mean that the response variable in the regression is binary or can take a value of 1/10? $\endgroup$ – Dave Jan 7 '20 at 18:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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