I'm working on a binary classification problem with XGBoost and I have a dataset, which has uneven number of observations per user. For some users there are over 100 observations, whereas for some users there are only a few. The "USER_ID" feature is not used as an input for XGBoost.
More specifically, I'm trying to model user physical activity (data collected from wearable trackers) in respect to sleep quality, and some of the variables are demographical features such as as age and sex, alongside steps, heart rate etc. Considering the differing amount of data collected from users, some user behaviours (such night-shift work) are represented more in the data than others due to the number of observations.
How should I take this into account when working with XGBoost?
USER_ID AGE SEX X1 X2 ... y
1 20 M 65 3000 ... 1
1 ... ... ... ... ... 0
1 ... ... ... ... ... 1
2 30 F 80 2500 ... 0
2 ... ... ... ... ... 1
3 40 M 77 8000 ... 0
The classes are otherwise balanced and I'm able to get good performance for the classifier.