ML-SandBox is an interactive web-based application designed for performing machine learning tasks on user-uploaded datasets. The platform enables users to choose specific algorithms and executes them in the backend using Jupyter Notebook, presenting the results seamlessly on the webpage.
- Dataset Upload: Users can upload their datasets directly from the webpage.
- Algorithm Selection: Users can choose from the following algorithms:
- Classification
- Find-S Algorithm
- Candidate Key Elimination
- Backend Processing: The selected algorithm is executed using Jupyter Notebook in the backend.
- Result Visualization: The output of the algorithm is displayed in a user-friendly format on the webpage.
-
Frontend:
- Provides an intuitive user interface for dataset upload and algorithm selection.
- Built using HTML, CSS, and JavaScript for a seamless user experience.
-
Backend:
- Handles the execution of machine learning algorithms using Jupyter Notebook.
- Processes the uploaded datasets and generates the desired outputs.
-
Integration:
- The frontend and backend communicate effectively to ensure smooth data transfer and result visualization.
- Python (version >= 3.7)
- Jupyter Notebook
- Node.js (for frontend setup, if applicable)
- Required Python Libraries:
- pandas
- numpy
- scikit-learn
- flask (or any preferred backend framework)
-
Clone the repository:
git clone https://github.com/your-username/ml-sandbox.git cd ml-sandbox -
Set up the Python environment:
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Change directory to backend:
cd backend pip install -r requirements.txt -
Start the backend server:
python app.py
-
Open the frontend in your browser by navigating to the specified URL.
- Upload your dataset in CSV format via the webpage.
- Select an algorithm from the provided options.
- Click "Run" to execute the algorithm.
- View the results directly on the webpage.
ml-sandbox/
├── frontend/ # Frontend files
│ ├── templates/ # HTML files
│ │ ├── algorithm.html # Algorithm HTML file
│ │ ├── base.html # Base Template HTML file
│ │ ├── contact_us.html # Contact HTML file
│ │ ├── data.html # INFO HTML file
│ │ ├── index.html # Main HTML file
│ │ └── results.html # Result display page
│ ├── static/ # Static files (CSS, JS, images)
│ │ ├── css/
│ │ │ └── style.css # Styling for the webpage
│ │ ├── js/
│ │ │ └── main.js # JavaScript for interactivity
│ │ └── images/ # Images folder (if any)
│ └── README.md # Frontend README (optional)
├── backend/ # Backend code
│ ├── app.py # Flask application
│ ├── requirements.txt # Python dependencies
│ ├── config/ # Configuration files
│ │ └── config.py # App configurations
│ ├── utils/ # Utility functions
│ │ ├── data_processing.py # Dataset handling and preprocessing
│ │ ├── algorithms.py # Algorithms like classification, Find-S
│ │ └── notebook_runner.py # Script to run Jupyter Notebooks
│ └── README.md # Backend README (optional)
├── notebooks/ # Jupyter notebooks
│ ├── classification.ipynb # Notebook for classification
│ ├── find_s.ipynb # Notebook for Find-S algorithm
│ ├── candidate_key.ipynb # Notebook for candidate key elimination
│ └── README.md # Notebook explanations (optional)
├── data/ # Example datasets
│ ├── sample_dataset.csv # Sample dataset for testing
│ └── README.md # Dataset README (optional)
├── docker/ # Docker configuration files
│ ├── Dockerfile # Dockerfile to containerize the app
│ ├── docker-compose.yml # Docker Compose file for multi-service setup
│ └── README.md # Docker setup guide (optional)
├── tests/ # Testing files
│ ├── test_app.py # Tests for Flask routes
│ ├── test_algorithms.py # Tests for algorithms
│ └── README.md # Testing README (optional)
├── README.md # Main project README
└── .gitignore # Ignore files for Git
We welcome contributions to ML-SandBox! To contribute:
- Fork the repository.
- Create a feature branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Add feature-name" - Push to the branch:
git push origin feature-name
- Create a pull request.
This project is licensed under the MIT License.
For questions or support, feel free to reach out:
- Email: Hritikraj8804@gmail.com.com
- GitHub: Hritik Raj
- Linkedin: Hritik Raj
We hope you find ML-SandBox useful for your machine learning experiments! 🚀

