I have a regression task where the label is varying from about 0.001 to 1000. One of the feature called group, for example, group A corresponding label from 0-0.1 and group G corresponding label from 500-700. Each group has about 500,000 rows.
I trained many models based on MSE as the objective function, but I notice that if I plot real vs predict value for each group, the plot in group A looks very bad because the predict value is 2 times larger that real value (e.g. 0.02 vs 0.04) and group G plot looks good (e.g. 650 vs 670)
Are there any way to solve this? I think MAPE can be a better objective function for the model but I don't know how to do it. And I can't build different models for different groups