I have a dataset of shape (55314,23). The target variable is league_rank. There are exactly 3951 leagues in this dataset, with each club having a ranking from 1 to 14. The variable is discrete, and all values from 1 to 14 compries 7.14% of the dataset.

The explanatory variables are:

       'cohort_season', 'avg_age_top_11_players', 'avg_stars_top_11_players',
       'avg_stars_top_14_players', 'avg_training_factor_top_11_players',
       'days_active_last_28_days', 'league_match_watched_count_last_28_days',
       'session_count_last_28_days', 'playtime_last_28_days',
       'registration_country', 'registration_platform_specific',
       'league_match_won_count_last_28_days', 'training_count_last_28_days',
       'global_competition_level', 'tokens_spent_last_28_days', 'tokens_stash',
       'rests_stash', 'morale_boosters_stash'

I have tried plotting the relationship and line of best fit between numeric and target variable.

I end up with plots like this for example:

enter image description here

enter image description here

Based on these plots it seems that predicting the average of league_rank would do a better job, and indeed it does, for Linear Regression, Ridge Regression and Random Forest. There seems to be nothing that the model can learn from this data. What is the workaround for this, if any?

  • $\begingroup$ Can you share your code used for preparing your data, for training your models, for passing data to them and for making predictions? It's currently impossible to tell what could be wrong with the information provided. Also, a screenshot of what the data looks like (df.head()) and the output of df.info() and df.describe() could be useful. $\endgroup$ Nov 21, 2023 at 10:10


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.