I have a dataset that lacks the target variable. The dataset contains a list of emails and I would need to classify them as spam/not spam. Do you know how I can build a model that can help me to target them, assigning a corresponding label? Should I need to label them manually or I could try to use some model that takes into account the most frequent words (but how could I distinguish between words used more frequently in spam emails rather than in not spam emails ,if I have not labels?)
In order to build a spam detection/classification model you need to manually label at-least 20% of your observations. Split the labelled dateset to train and validation sets i.e 80/20. Train your model on the 80% subset and validate on 20% subset. Then use this trained model to predict on the rest unlabeled data. The model accuracy can be determined using the validation set.
Alternate approach to detect spam would be by using spam corpus available online which are already labelled. Spambase