I built a Python sentiment classification project that turns raw text into positive or negative predictions. The work covers the full machine learning workflow: preprocessing, feature extraction, model training, persistence, and reuse on new inputs.
The challenge
A trained classifier is useful only when new text is processed consistently with the training data. The goal was to build a clear, reusable pipeline rather than stop at a one-time training experiment.
What I built
Text preparation: load textual data and apply preprocessing, including lowercasing.
Feature extraction: use TF-IDF to convert text into numerical features that a machine learning model can process.
Classification: train a Logistic Regression model with scikit-learn for binary positive/negative sentiment prediction.
Persistence and inference: save both the trained classifier and its vectorizer, then reload them to classify new text without retraining.
Engineering approach
The model and vectorizer form a single prediction workflow. Reusing the fitted vectorizer keeps new inputs in the same feature space as the training data, while saving the trained artifacts separates model development from later prediction runs.
Outcome
The result is a reusable sentiment classification workflow with persisted model artifacts. It demonstrates practical Python and NLP skills across the steps needed to train a model and use it again on new inputs.
Scope: this case study covers the machine learning pipeline and saved artifacts. A REST API server or hosted prediction endpoint has not been verified.