0
$\begingroup$

I'm trying to predict the % attendance of people to gym classes that have previously been booked. It is heavily dependent on the time of day and also a load of other features (is it raining, fraction of class of class that booked yesterday compare to have booked a week ago etc). Random forest alone performs very poorly. I instead tried to predict the difference from the mean for the hour of the day using random forest then just add that on to the mean. This again performs worse than just the mean itself. My first question is, is this predicting the difference from the mean a bad idea? I cant find people using similar methods which makes me think it isnt a good idea. Secondly is there a better algorithm suited to this task?

$\endgroup$
0
$\begingroup$

With random forest there is no need to modify your output variable (i.e difference from the mean) when performing a regression.

It may be that the features you have are not relevant, or that you don't have enough data. Also try different model parameterisations (num trees, num layers etc).

Try to do some feature engineering to create intelligent features that might help the classifier.

$\endgroup$
  • $\begingroup$ You mean i should just try to predict the attendance fraction? Rather than difference from the mean for that hour? Because if i do that i get poor accuracy (MAPE=~60%) . It seems to not handle the time series aspect very well. $\endgroup$ – user148980 Aug 26 '18 at 14:32
  • $\begingroup$ Please can you give a single example of the input vector, and a single example of the output you want. $\endgroup$ – Jinglesting Aug 26 '18 at 15:01
  • $\begingroup$ Yes, sorry. Input vector would be time and date of bookable slot, whether it is raining (1 or 0), percentage of attendees that booked today, percentage of attendees that booked a week ago, percentage that booked longer than a week ago. Then the target would be the percentage of people who attended out of the spaces that were booked. $\endgroup$ – user148980 Aug 26 '18 at 15:31
  • $\begingroup$ And the time and date would refer go up in hour slots. E.g 26/08/2018 1pm next slot would be 26/08/2018 2pm. Ive split this into hour of day and day of week $\endgroup$ – user148980 Aug 26 '18 at 15:46
  • $\begingroup$ Ok, are you including the date in the input, or only the day of week and hour? $\endgroup$ – Jinglesting Aug 26 '18 at 18:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.