Skip to content

neuraltanh/ML-model-deploy-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ“Š Customer Churn Prediction App

Python Framework ML Package Manager License Status

End-to-end Machine Learning project for predicting customer churn.

Includes:

  • Data preprocessing

  • Model training (Random Forest)

  • Pickle model generation

  • Deployment using FastAPI, Flask, Streamlit, Gradio

  • HTML + CSS frontend


๐Ÿš€ SETUP INSTRUCTIONS (STEP-BY-STEP)

1๏ธโƒฃ Fork the repository (from GitHub UI)

2๏ธโƒฃ Clone your fork

git clone https://github.com/YOUR-USERNAME/YOUR-REPO-NAME.git

cd YOUR-REPO-NAME


3๏ธโƒฃ Install uv (if not installed)


Mac / Linux

curl -Ls https://astral.sh/uv/install.sh | sh

Windows (PowerShell)

irm https://astral.sh/uv/install.ps1 | iex

Verify installation

uv --version


4๏ธโƒฃ Create Virtual Environment


uv venv

Activate virtual environment

Windows

.venv\Scripts\activate

Mac / Linux

source .venv/bin/activate


5๏ธโƒฃ Install Project Dependencies


uv sync


6๏ธโƒฃ Train Model (Generate Pickle File)


Make sure dataset exists:

data/churn.csv

python train_model.py

This creates:

models/churn_model.pkl


๐ŸŒ RUN APPLICATIONS


โ–ถ๏ธ Run Flask App


python deployments/flask/flask_app.py

Open in browser:


โ–ถ๏ธ Run FastAPI App


uvicorn deployments.fastapi.fastapi_app:app --reload

Open:

Swagger Docs:


โ–ถ๏ธ Run Streamlit App


streamlit run deployments/streamlit_app.py


โ–ถ๏ธ Run Gradio App


python deployments/gradio_app.py


๐Ÿ“‚ PROJECT STRUCTURE

.
โ”œโ”€โ”€ data/
โ”‚   โ””โ”€โ”€ churn.csv
โ”œโ”€โ”€ models/
โ”‚   โ””โ”€โ”€ churn_model.pkl
โ”œโ”€โ”€ deployments/
โ”‚   โ”œโ”€โ”€ flask/
โ”‚   โ”œโ”€โ”€ fastapi/
โ”‚   โ”œโ”€โ”€ streamlit_app.py
โ”‚   โ””โ”€โ”€ gradio_app.py
โ”œโ”€โ”€ train_model.py
โ”œโ”€โ”€ pyproject.toml
โ””โ”€โ”€ README.md


๐Ÿ“Œ IMPORTANT NOTES

  • Train the model before running any app.

  • Entire preprocessing + model is saved inside pickle.

  • No manual encoding required in deployment.

  • SMOTE (if used) is only for training, never for production API.


๐ŸŽฏ DONE

You now have a fully working ML project with multiple deployment options.

About

End-to-end customer churn prediction project with Random Forest training and deployment via FastAPI, Flask, Streamlit, and Gradio.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

โšก