# Machine Learning Procedure for Fractional/Proportional Data?

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.

• 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 – 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

x<-seq(20,80,len=5)
n<-c(50,50,50,50,50)
y<-c(6,10,20,37,44)
frac<-y/n
plot(x,frac,type='o')
fit<-glm(frac~x,family=binomial,weight=n)


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.

• How would you describe the difference between a fraction like 15/200 and a number between 0 and 1? – Dave Jan 7 '20 at 18:13
• @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. – jbowman Jan 7 '20 at 18:18
• @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? – Dave Jan 7 '20 at 18:20
• @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. – jbowman Jan 7 '20 at 18:26
• @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? – Dave Jan 7 '20 at 18:27