Live App: Streamlit Demo
Dataset: Kaggle Dataset
Demo Video: Watch on YouTube
This project presents a unified sentiment analysis platform built using classical machine learning models. The primary goal is to classify textual data (e.g., reviews or comments) based on emotional tone — positive or negative.
- Text preprocessing (cleaning, normalization)
- TF-IDF and Bag-of-Words (BoW) vectorization
- Dimensionality reduction using Singular Value Decomposition (SVD)
- Multiple ML algorithms:
- Logistic Regression
- Linear Regression
- K-Nearest Neighbors (KNN)
- Naive Bayes
- Decision Tree
- Artificial Neural Network (ANN)
- Support Vector Machine (SVM)
- Clustering (Unsupervised)
- Interactive real-time inference and model comparison via a Streamlit dashboard
- Modular and scalable architecture
-
Open the app:
https://omchandrasharma-sentiment-analysis-sentiment-appapp-p762tr.streamlit.app/ -
In the left sidebar, select any model (e.g., Logistic Regression, KNN, Naive Bayes)
-
Scroll to the "Live Simulation" section
-
Enter a sentence or review in the input box
-
Click the "Predict" button
-
View the output label (Positive/Negative) and the prediction confidence score
. ├── ANN/ # Artificial Neural Network model, graphs & analysis ├── backend/ # FastAPI backend for model inference ├── clustering/ # Clustering algorithms and visualizations ├── decision_tree/ # Decision Tree implementation and analysis ├── KNN/ # K-Nearest Neighbors model and plots ├── linear_regression/ # Linear Regression model, graphs & performance ├── logistic_regression/ # Logistic Regression implementation & visuals ├── naive_bayes/ # Naive Bayes model for classification & sentiment ├── sentiment_app/ # Sentiment analysis logic and app code ├── svm/ # Support Vector Machine implementation and evaluation ├── .DS_Store ├── .gitattributes ├── README.md ├── Sentiment Analysis Dataset Report.pdf ├── SentimentClassificationReport.pdf
Install the required dependencies using pip:
pip install -r requirements.txt