Welcome to MaximusML! This application provides a seamless experience for users to upload datasets, train models using various machine learning algorithms, and store the models in AWS S3 for future use.
- User Authentication: Secure login and registration system to manage user access.
- Dataset Upload: Simple and intuitive interface for uploading datasets.
- Model Training: Automatically train models using five different algorithms:
- Support Vector Machine (SVM)
- Random Forest (RF)
- AdaBoost (ADA)
- Gradient Boosting Regressor (GBR)
- Multi-Layer Perceptron (MLP)
- Decision Tree (DT)
- Download Models: Download trained models from AWS S3 for easy deployment.
- Python 3.10+
- AWS Account with S3 access
- Required Python packages (listed in
requirements.txt
)
-
Clone the Repository
git clone https://github.com/arpy8/PreProd-Corp---Buildathon-2024---Gyatt-Maximus.git cd PreProd-Corp---Buildathon-2024---Gyatt-Maximus
-
Install Dependencies
uv pip install -r requirements.txt
-
Set Up Environment Variables
Create a
.env
file in the root directory with the following variables:AWS_DEFAULT_REGION=your_aws_default_region AWS_ACCESS_KEY_ID=your_aws_access_key_id AWS_SECRET_ACCESS_KEY=your_aws_secret_access_key S3_BUCKET_NAME=your_s3_bucket_name
-
Start the Application
streamlit run main.py
-
Register / Log In
Navigate to the registration or login page to create an account or log in.
-
Upload Dataset
Once logged in, go to the upload page and upload your dataset (CSV/XLSX format).
-
Train Models
After the dataset is uploaded, navigate to the model training page. Select the algorithms you want to use (SVM, RF, ADA, GBR, MLP, DT) and click "Train".
-
Store Models
The trained models will automatically be stored in your configured AWS S3 bucket.
├── static/ # Public files (Data, Models, etc.)
│ ├── data/ # Sample datasets
│ └── images/ # Images for the web interface
├── pycaret/ # Slightly tweaked version of pycaret
├── main.py # Main application file
├── user_auth/ # User authentication and registration
├── utils.py # Utility functions
├── train_model.py # Model training and tuning
├── Dockerfile # Docker file for deployment
├── requirements.txt # List of required Python packages
└── sections.py # Contains the three sections for the web interface
We welcome contributions! Please fork the repository and submit pull requests for any enhancements or bug fixes.
This project is licensed under the MIT License.
For any questions or suggestions, please contact [arpitsengar99@gmail.com].