I have a dependent continuous variable with range 0-100 representing restaurant health violations. Due to the nature of the variable, it does not make sense for a regression equation to predict a restaurant to score negative violations. I would like to limit the prediction interval for many different regression algorithms that I am running in scikit-learn (OLS, Lasso, Ridge, Random Forest).
Other responses to this problem (example) state that "If your DV is never negative then you can take the log. Then the predicted values on the raw score would never be negative."
I used numpy to take the log of my DV and my predictions are still returning negative (I don't know why they would be different). How can I address this issue, specifically with implementation in python?