ML Workflow is a comprehensive machine learning project designed to streamline the end-to-end process of data ingestion, preprocessing, modeling, evaluation, and deployment. It provides a robust framework for automating repetitive tasks in machine learning workflows.
The project structure is organized as follows:
- .ebextensions: Contains configuration files for Elastic Beanstalk deployment.
- artifact: Contains files related to hyperparameter tuning.
- catboost_info: Contains information related to CatBoost model tuning.
- notebook: Contains a Python file for data ingestion.
- src: Source code directory:
- application.py: Updated application logic.
- templates: Contains front-end templates for user interaction.
- .DS_Store: System file (ignored).
- .gitignore: Specifies files and directories to be ignored by Git.
- README.md: This file, providing an overview of the project.
- requirements.txt: Lists project dependencies.
- setup.py: Package setup file.
- Dockerfile: Docker configuration file.
To set up the project locally:
- Clone the repository:
git clone <repository-url>
- Navigate to the project directory:
cd ml-workflow
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python src/application.py
- Ensure data is available in specified sources.
- Run the data ingestion script to fetch the data.
- Preprocess the data using provided scripts.
- Train and evaluate models using the updated application logic.
- Deploy trained models for real-world use.
To containerize the project using Docker:
-
Ensure Docker is installed on your machine. You can download it from Docker's official website.
-
Build the Docker image:
docker build -t <imagename>.
-
Run the Docker container:
docker run -p 5000:5000 <imagename>
-
Access the application in your web browser at
http://localhost:5000
.
Ensure all necessary configurations are set up correctly:
- Set environment configurations for deployment.
- Provide data source credentials.
- Adjust model training parameters as needed.
Contributions to the project are welcome! To contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/my-feature
- Commit your changes:
git commit -am 'Add new feature'
- Push to the branch:
git push origin feature/my-feature
- Submit a pull request.
krish Naik: https://github.com/krishnaik06/mlproject.git