This project is a Streamlit-based machine learning classification toolkit designed to support data exploration, preprocessing, model training, and classification through an interactive web interface.
It provides an end-to-end workflow for experimenting with classification models, combining a modular backend architecture with an easy-to-use Streamlit frontend. The toolkit is suitable for rapid prototyping, research workflows, and applied machine learning tasks.
- Visualize raw and processed data
- Inspect features and labels
- Custom plotting utilities
- Reusable preprocessing steps
- Configurable pipelines
- Dataset abstraction for consistency
- Neural network–based classifiers
- Support Vector Machine (SVM) training
- Scripted classification workflows
- Clear separation of concerns
- Easy to add new models or preprocessing steps
- Shared utilities and constants
- Upload and explore datasets
- Run preprocessing and training interactively
- Visualize classification results
Follow these steps to set up and run the application locally:
# Clone the repository
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
# Create a virtual environment
python -m venv venv
# Activate the virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the Streamlit application
streamlit run streamlit_app/app.py- Global constants are defined in constants.py
- Dataset handling logic is centralized in common_dataset.py
- Plotting behavior can be customized via utils/plotting.py
- Pipelines can be extended inside the pipeline/ directory
Built with:
- Streamlit for interactive ML apps
- scikit-learn for classical ML models
- PyTorch/TensorFlow for neural networks