Skip to content

Hritikraj8804/ML-Sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

148 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ML SandBox

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.


img1


img2

Key Features

  • 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.

Project Architecture

  1. Frontend:

    • Provides an intuitive user interface for dataset upload and algorithm selection.
    • Built using HTML, CSS, and JavaScript for a seamless user experience.
  2. Backend:

    • Handles the execution of machine learning algorithms using Jupyter Notebook.
    • Processes the uploaded datasets and generates the desired outputs.
  3. Integration:

    • The frontend and backend communicate effectively to ensure smooth data transfer and result visualization.

Getting Started

Prerequisites

  • 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)

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/ml-sandbox.git
    cd ml-sandbox
  2. Set up the Python environment:

    python -m venv env
    source env/bin/activate   # On Windows: env\Scripts\activate
  3. Change directory to backend:

    cd backend
    pip install -r requirements.txt
  4. Start the backend server:

    python app.py
  5. Open the frontend in your browser by navigating to the specified URL.

Usage

  1. Upload your dataset in CSV format via the webpage.
  2. Select an algorithm from the provided options.
  3. Click "Run" to execute the algorithm.
  4. View the results directly on the webpage.

Folder Structure

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

Contributing

We welcome contributions to ML-SandBox! To contribute:

  1. Fork the repository.
  2. Create a feature branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Add feature-name"
  4. Push to the branch:
    git push origin feature-name
  5. Create a pull request.

License

This project is licensed under the MIT License.

Contact

For questions or support, feel free to reach out:


We hope you find ML-SandBox useful for your machine learning experiments! 🚀

About

ML-SandBox is an interactive web-based application designed for performing machine learning tasks on user-uploaded datasets.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors