Predict non-negative continuous variable between 0 to 100 I am working on a problem wherein I am trying to predict how much 'percentage a student will score exams' based on the 'number of hours the student study', 'number of hours the student play', 'student's attendance in class', 'students hobbies', 'gender', 'his parents education' etc.
Now the challenge I am facing is that I am not sure which Generalized Linear Model or any other machine learning technique to use as the dependent variable i.e. 'percentage a student will score' will be a continuous value between 0 to 100 which means the prediction should be non-negative and continuous value between 0 to 100. I have plotted the histogram and the distribution looks a little left skewed.
I tried using Linear regression but it is predicting negative values and also values more than 100. I tried Negative binomial but even that is not working as it is predicting only discreet values. Please let me know which GLM technique will solve this issue.

Scale your data to lie between 0 and 1, then use beta regression.
A beta regression models the response as conditionally beta distributed, i.e., bounded between 0 and 1 (just like a negative binomial regression models your data as conditionally negbin distributed). The beta is the most common such distribution. (The uniform distribution would be another one, but since it is not flexible at all, it does not make sense to plug it into a regression. The beta, in contrast, can have a lot of different shapes: essentially, you would model a dependence of the two parameters of a beta distribution on your predictors.)
In R, you can use the betareg package. We have a beta-regression tag. Unfortunately, I do not know of any literature, I recommend searching and perhaps looking at the betareg vignettes.
