I have a data-set where I want to predict attendance of members. I need to choose between applying regression, classification, and clustering. I'm unsure between regression and classification. I'm ruling out clustering (please let me know if I should not).

A rough overview of the dataset:

The dataset contains:

  • attendance column comprising of 0 and 1.
  • category: contains the activities members signed up for like sports, games, etc.)`
  • days_before: Number of days before members signed up for the activity.
  • time: Time of the event (of a specific category): AM or PM
  • weight: Weight of member
  • months_of_membership: Number of months of membership for a given member.

I'm thinking to apply binomial regression. For example, this could be one model:

attendance ~ category + days_before + time + months_of_membership + weight.

However, I see that I can also apply classification. For example, I can create a decision tree to predict new sign-ups and classify them on attendance. I want to know:

  1. What am I missing? How do I decide which ML Technique to apply?
  2. Is there a cheat-sheet that I can look up to understand when to apply what technique.

1 Answer 1


I think that you should apply classification, given that the target variable attendance is binary with values of 0 and 1.

Among the three machine learning tasks you mentioned: classification, regression, and clustering, there exists a simple rule that tells you when you should apply each one.

If the target variable that you are trying to predict is categorical, i.e., it can take up a pre-defined finite set of possible values (as in your case, attendance can be either 0 or 1, it can't be 0.5 or 15, or red) then you should apply classification.

Else, if the target variable that you are trying to predict is numerical, i.e., it can take up a (theoretically) infinite set of possible values; example: predicting house prices, then you should use regression.

Else, if the target variable is not available, in other words, it doesn't exist, then you use clustering. Clustering will group your data by similarity and is a bit different concept of machine learning from the previous two.


Your Answer

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

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