Code Monkey home page Code Monkey logo

xrhd / brazilian-credit-card-spending Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 6.76 MB

This project is a proof-of-concept (PoC) for MLops (Machine Learning Operations). It utilizes the Brazilian Credit Card Spending dataset from Kaggle. The goal of this project is to demonstrate the implementation of MLops principles and practices in a real-world scenario.

Dockerfile 0.06% Jupyter Notebook 98.56% Python 1.37% Makefile 0.01%
kaggle kedro mlops

brazilian-credit-card-spending's Introduction

Brazilian Credit Card Spending

kedro-pipeline

Overview

MLops Poc Project

This project is a proof-of-concept (PoC) for MLops (Machine Learning Operations). It utilizes the Brazilian Credit Card Spending dataset from Kaggle. The goal of this project is to demonstrate the implementation of MLops principles and practices in a real-world scenario.

Key Features:

  • Data preprocessing: The dataset is preprocessed to handle missing values, outliers, and feature engineering.
  • Model training: Various machine learning algorithms are trained and evaluated to find the best performing model.
  • Model deployment: The selected model is deployed using a docker.
  • Monitoring and maintenance: In theory (given new data), the deployed model can continuously monitored for performance and retrained periodically to ensure accuracy.

This project serves as a starting point for implementing MLops practices in credit expense category prediction. It provides a framework for handling data, training models, and deploying them in a production environment.

For more information, refer to the project documentation and codebase.

Take a look at the Kedro documentation to get started.

Workflow for creating a e2e prototype

Rules and guidelines

In order to get the best out of the template:

  • Don't remove any lines from the .gitignore file we provide
  • Make sure your results can be reproduced by following a data engineering convention
  • Don't commit data to your repository
  • Don't commit any credentials or your local configuration to your repository. Keep all your credentials and local configuration in conf/local/

Setup

Create a new conda/mamba environment or read the official documentation

conda create -n mlops python=3.10 -y

or

mamba create -n mlops python=3.10 -c conda-force -y

Activate your environment

conda activate mlops

How to install dependencies

Declare any dependencies in requirements.txt for pip installation.

To install them, run:

pip install -r requirements.txt

Package

More on [official documentation]

kedro package
pip install dist/brazilian_credit_card_spending-0.1-py3-none-any.whl

Docker

Setup Kedro Environment

Install Kedro Docker

pip install kedro-docker

Generate a Dockerfile

kedro docker init

Build a Docker image, It will create a Docker image with example:latest name.

kedro docker build

Run a Kedro project in a Docker Environment

kedro docker run

How to run your Kedro pipeline

You can run your Kedro project with:

kedro run

How to test your Kedro project

Have a look at the files src/tests/test_run.py and src/tests/pipelines/test_data_science.py for instructions on how to write your tests. Run the tests as follows:

pytest

To configure the coverage threshold, look at the .coveragerc file.

Project dependencies

To see and update the dependency requirements for your project use requirements.txt. Install the project requirements with pip install -r requirements.txt.

Further information about project dependencies

How to work with Kedro and notebooks

Note: Using kedro jupyter or kedro ipython to run your notebook provides these variables in scope: catalog, context, pipelines and session.

Jupyter, JupyterLab, and IPython are already included in the project requirements by default, so once you have run pip install -r requirements.txt you will not need to take any extra steps before you use them.

Jupyter

To use Jupyter notebooks in your Kedro project, you need to install Jupyter:

pip install jupyter

After installing Jupyter, you can start a local notebook server:

kedro jupyter notebook

JupyterLab

To use JupyterLab, you need to install it:

pip install jupyterlab

You can also start JupyterLab:

kedro jupyter lab

IPython

And if you want to run an IPython session:

kedro ipython

How to ignore notebook output cells in git

To automatically strip out all output cell contents before committing to git, you can use tools like nbstripout. For example, you can add a hook in .git/config with nbstripout --install. This will run nbstripout before anything is committed to git.

Note: Your output cells will be retained locally.

Further information about using notebooks for experiments within Kedro projects.

Package your Kedro project

Further information about building project documentation and packaging your project.

brazilian-credit-card-spending's People

Contributors

xrhd avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.