This project aims to automatically classify SMS messages as spam or ham using machine learning and deep learning. The dataset contains labeled SMS messages. The workflow includes data analysis, text cleaning, feature extraction, and testing various models (Decision Tree, Random Forest, SVM, boosting, and deep learning). Advanced techniques like word embeddings, clustering, and topic modeling are also applied. The goal is to find the most effective approach for spam detection and suggest further improvements.